oracle sqlplus执行sql文件

说实话,我刚接手项目时在OracleSQLPlus中运行SQL文件时遇到了很多坑。
我记得第一次使用PowerShell连接数据库时,我将密码更改为大写字母,然后连接就中断了。
这真的不是开玩笑,Oracle对于大小写是认真的。

有趣的是,路径问题是执行文件时最痛苦的问题。
在 Linux 服务器上,SQL 脚本位于 /usr/scripts 目录中。
因此,我直接报@script.sql“找不到文件”。
后来我知道我必须写完整路径@/usr/scripts/script.sql。
这让我想起在Windows中使用相对路径时,定位当前目录尤为重要。
每次我更改代码时,我都必须更改可执行文件,这很糟糕。

说到静音模式,这确实是一个救星。
我有一个批量导入数据的需求,但是脚本只讲了删除表并重新加载它们。
使用-s参数后,光标停止闪烁。
最后,我发现自己必须添加 -w 并按 Enter 退出。
然后我切换到@脚本名称/参数模式,将数据库名称和脚本路径打包直接在命令中使用,这样效率就高多了。

Bang从未亲自运行过Windows服务器脚本,但我见过将sqlplus.sh脚本添加到cron中以在Linux上自动执行。
脚本中还包含环境变量配置,就像编写shell脚本一样自然。
但说实话,频繁使用命令行参数传递路径是很容易出错的。
然后,我转而将用户名和密码保存为加密文件,并在执行时使用@username/password@dbname@script.sql。
至少权限问题较少。

数据我记得大约1 5 年前,Oracle官方推荐了这种老方法。
后来SQL Developer流行之后就很少用了。
但归根结底,无论你使用IDE还是命令行,在检查SQL语法之前,你都必须打开一个文本编辑器看一下,例如使用vi filename.sql,看看是否有任何提交忘记了分号。
做了很多次之后,你自然就会知道是否要在@filename.sql之前添加空格以及为什么有些系统必须使用双引号来括住用户名和密码。

plsql如何运行sql文件

是的,这是一个问题。
PL/SQL 只是执行 SQL 文件。

使用SQLPlus,在命令行输入:sqlplus username/password@database@file_path.sql
使用SQLDeveloper,GUI,连接数据库后打开文件,点击运行脚本。

权限不正确,请检查用户权限。
使用 SETECHOOFF 减少大文件的噪音。

文件语句以分号和语法对结尾。
脚本使用 Git 进行管理,并且经常使用 CI/CD 脚本自动化。
你自己看看吧。