DB2 SQL脚本文件

5

我有一个 Oracle 脚本,现在想将其转换为有效的 DB2 语法。在这个 SQL 文件中,我有多个调用其他 SQL 文件的语句,使用 '@' 语法传递参数。

例如:

@script1 param1
@script2 param2

有没有人能帮我提供有效的db2等效语句?在db2中有等效的运行命令吗?是否可以在db2中向sql脚本传递参数?

谢谢,

smauel

4个回答

11

你需要的是DB2命令行处理程序(CLP)

如果你想要执行一个脚本,你可以在CLP中执行:

db2 -vtf script1

-f参数告诉CLP从给定文件中运行命令输入。

这里是完整的选项列表

不幸的是,db2不支持将参数传递给脚本。您必须将db2 -vtf命令与其他脚本命令(如sed)结合使用,以为您生成脚本,例如此示例


5

1) 将filename.sql文件放置于SQLLIB/BIN目录下

2) 运行db2cmd

3) 执行以下命令连接到所需的数据库

 db2 connect to *dbname* user *userid* using *password*

4) 执行这个命令

 db2 -vtf *filename.sql*

这将逐一执行文件中的SQL语句。SQL语句必须以分号结尾。


1

有一种更简单的方法可以传递参数,对我们来说很有效(但可能无法处理复杂的多行SQL语句)。

通过在每行开头添加“db2”,将您的SQL脚本转换为shell脚本。然后,您可以在脚本中使用Shell中的标准变量替换语法。

因此,不是

insert ...
update ...

你将拥有

db2 insert ...
db2 update ...

0

  1. 将文件放置在一个目录中。
  2. 以管理员身份打开db2cmd.exe
  3. 导航到您放置脚本的目录
  4. 键入db2 -vtf `

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接