我对DB2有疑问。我创建了一个脚本,例如。
BEGIN
SELECT * FROM ABC;
END
现在我想在报表生成器中运行它,我已经有了一些带有连接和所有内容的选择查询。该脚本的目的是读取输入并解析该字符串并将详细信息存储在临时表中(此部分已完成)。现在我的其他选择查询将在此表上运行。
但是如何将这两个东西放在一个文件中,或者我应该创建单独的文件(脚本中的过程并在sql报告中执行它)。但是我想知道是否有办法在同一个文件中进行。
答案 0 :(得分:0)
你写的是一个匿名的块。当您调用脚本时,它会被执行,但它不会返回任何输出。您需要一个存储过程才能检索结果集。
答案 1 :(得分:0)
在DB2中,在db2clp中使用脚本时无法处理标准输入。该控制台仅用于向DB2发送命令,但是这些命令应该已经准备好了。
为了处理用户输入,您使用shell脚本,例如Windows中的.bat或bash / korn shell脚本。使用这些脚本,您可以获取用户输入,然后构造要发送到DB2的命令。
read id
db2 "select * from emp where id = ${id}"
对于之前的方法,您需要为每个平台创建脚本(windows和* NIX-bash或korn)
但是,还有另一种方法可以处理DB2中的用户输入,但您需要使用CLPPlus。这就像SQL * Plus,您可以将用户的输入转换为变量,然后使用该值查询数据库。