我有一个oracle脚本,我试图将其转换为有效的db2语法。在这个sql文件中,我对使用'@'语法传入参数的其他sql文件进行了各种调用。db2 sql脚本文件
例如
任何人都可以帮助我与有效的db2等效语句?在db2中是否有等价的运行命令?是否有可能将参数传递给db2中的sql脚本?
感谢,
smauel
我有一个oracle脚本,我试图将其转换为有效的db2语法。在这个sql文件中,我对使用'@'语法传入参数的其他sql文件进行了各种调用。db2 sql脚本文件
例如
任何人都可以帮助我与有效的db2等效语句?在db2中是否有等价的运行命令?是否有可能将参数传递给db2中的sql脚本?
感谢,
smauel
你之后的东西是DB2 Command Line Processor (CLP).
如果你想执行一个脚本,你将执行在CLP:
db2 -vtf script1
- f告诉CLP运行给定文件的命令输入。
不幸的是,db2不支持将参数传递给脚本。您必须将db2 -vtf命令与其他脚本命令(如sed)结合起来才能为您生成脚本,如this example。
传递参数有一个简单的方法,对我们来说工作正常(它可能不适用于(复杂)多行SQL语句)。
通过在每行开始处添加'db2'将您的sql脚本转换为shell脚本。您可以在脚本中使用shell中的标准变量替换语法。
所以不是
insert ...
update ...
,你将有
db2 insert ...
db2 update ...
1)放置filename.sql文件SQLLIB/BIN
2)运行DB2CMD
3)执行此操作以连接到所需的db
db2 connect to *dbname* user *userid* using *password*
4)EXCUTE此命令
db2 -vtf *filename.sql*
这应该由一个执行文件之一的SQL语句。 sql语句必须以分号结尾