【发布时间】:2011-01-30 18:32:01
【问题描述】:
我正在尝试编写一个 sql 脚本来检查表是否存在,如果存在则删除它,然后重新创建表 我正在尝试使用 IBM Data studio 2.2 的 DB2 9.7 LUW 的 sql 脚本来执行此操作
(1) 声明@tablefound INTEGER ;
SET @TABLEFOUND = (select COUNT(*) from syscat.tables where tabschema = 'AELUM' and tabname = 'PRODUCTS');
(2) IF @TABLEFOUND>0 THEN
DROP TABLE "AELUM"."PRODUCTS" ;
(3) 结束如果;
CREATE TABLE "AELUM"."PRODUCTS" (
"Created" DATE NOT NULL DEFAULT CURRENT_DATE,
"Author" VARCHAR(255),
"ProductName" VARCHAR(255),
"ProductComment" VARCHAR(255),
"ProductDefinition" XML
)
DATA CAPTURE NONE ;
我收到以下错误
(1) DB2 for Linux, UNIX, and Windows:在“INTEGER”之后到达文本结尾。
(2) DB2 for Linux, UNIX, and Windows:遇到意外的文本“IF @TABLEFOUND>0 THEN”。
(3) 此行有多个标记
- DB2 for Linux, UNIX, and Windows:预计“JOIN”将形成一个完整的范围。
- DB2 for Linux, UNIX, and Windows:在“IF”之后应该是“””。
我尝试将语句终止符从 ;到
问候
【问题讨论】:
-
是 DB2 SQL 语法,还是 MS SQL Server 语法?
标签: sql stored-procedures db2