0
我想计算一些表的行数。但表名应该动态使用。我想在一个SQL语句中做到这一点。DB2动态表名
我
BEGIN ATOMIC
FOR tmp AS (
SELECT tabschema || '.' || tabname tbl
FROM syscat.tables WHERE tabname LIKE '%CD') DO
(SELECT COUNT(*) FROM tmp.tbl);
END FOR;
END
尝试过,但我收到错误
DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL0204N "TMP.TBL" is an undefined name. LINE NUMBER=1. SQLSTATE=42704
,并没有发现其他的工作液...
是否有一个解决方案? 在此先感谢。
我总是得到这个错误:DB21034E该命令被处理作为SQL语句,因为它不是 有效的命令行处理器命令。在SQL处理过程中,它返回: SQL0104N在“ame LIKE'%CD' DO”之后找到了意外标记“PREPARE”。预期的标记可能包括:“SELECT”。 LINE NUMBER = 5。 SQLSTATE = 42601 – user3775041
我添加了链接的论坛主题中的代码和所需的更正。我无法测试它。 不要忘记'PREPARE'语句必须在存储过程中运行。 –