DB2 CLP内联注释

时间:2017-08-01 14:13:58

标签: db2 comments command-line-interface db2-luw

我们在DB2 CLP中看到了带内联注释的错误。有谁知道DB2命令行处理器支持哪种内联注释语法? 我们查看了DB2 LUW 10.5 Comment Syntax文章,我们写了类似的内容:

SELECT * FROM sysibm.sysdummy1; --IGNORE-THIS

它适用于我们尝试的工具(例如IBM Data Studio),但我们的DBA报告它在DB2 CLP(db2)中失败。

这有效:

create table testtab (column1 char(1), --IGNORE-THIS
 column2 char(1) )
DB20000I  The SQL command completed successfully.

这不是:

grant select on table testtab to user someName;  --IGNORE-THIS 
db2 -tvf test.sql

DB21007E  End of file reached while reading the command.

有谁知道这里有什么问题?

2 个答案:

答案 0 :(得分:1)

它似乎只是CLP的一个功能(限制),并且CLP与您描述的不一致。可能值得PMR。换句话说,如果语句具有终止符后跟内联注释,则交互式CLI(db2cli)允许我成功运行SQLExecDirect()。并且jdbc驱动程序也接受内联注释(正如您在Data Studio中找到的那样)。指定CLP -f选项的doc链接仅在行上的第一个非空白字符为 - 或/ *为here

时才允许注释

答案 1 :(得分:0)

不确定是否与此相关,但是; --曾被作为一种手段来使用-tf而不是-例如-{{ 1}}。

我隐约想起了Usenet的一则老帖子,问了这个问题,经过一番搜索,我发现了它:   https://groups.google.com/d/msg/comp.databases.ibm-db2/goEiaG3jsAI/O9dOf4oISRUJ

原来,该帖子来自2004年2月:-)