我正在尝试编写一个sql脚本来检查表是否存在,如果存在则删除它,然后重新创建表 我正在尝试使用IBM Data Studio 2.2的DB2 9.7 LUW的sql脚本来执行此操作
(1)DECLARE @tablefound INTEGER;
SET @TABLEFOUND =(从syscat.tables中选择COUNT(*),其中tabschema ='AELUM'和tabname ='PRODUCTS');
(2) IF @TABLEFOUND>0 THEN
DROP TABLE "AELUM"."PRODUCTS" ;
(3)END IF;
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和Windows:在“INTEGER”之后到达文本结尾
(2)DB2 for Linux,UNIX和Windows:遇到意外的文本“IF @ TABLEFOUND> 0 THEN”。
(3)此行的多个标记
- DB2 for Linux,UNIX和Windows:“”JOIN“”预计将构成一个完整的范围。
- DB2 for Linux,UNIX和Windows:在“IF”之后预期“”“”。
我尝试过更改语句终止符;到<没有运气 请让我知道我做错了什么。因为我想要实现的是一组SQL脚本,我可以运行以将我的表“恢复”到干净/处女状态。我正在使用db2 LUW 9.7.2和IBM DATA STUDIO 2.2.1.0版
此致
答案 0 :(得分:0)
我没有看到你检查表是否存在的原因......如果你打算放弃它。只有两个语句,一个drop table,然后一个create table。第一个可能会失败,但它确实没关系。