gpt4 book ai didi

java - 如果 DB2 中不存在表,则创建表

转载 作者:行者123 更新时间:2023-11-30 03:10:43 24 4
gpt4 key购买 nike

在 DB2 中,我们要检查表是否存在,并根据情况创建表。我在网上搜索,总是找到相同的答案,但是当我想运行查询时,我不断收到错误。

begin 
declare continue handler for sqlstate '42710' begin end;
execute immediate 'CREATE TABLE HTMLMONIDB.DLW_C(MSG_ID varchar(119) NOT NULL, DIRECTION varchar(8) NOT NULL, TO_PARTY_NAME varchar(60) NOT NULL, PRIMARY KEY CLUSTERED (MSG_ID ASC, DIRECTION ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]';
end

我一遍又一遍地遇到同样的错误。

java.security.PrivilegedActionException: java.sql.SQLSyntaxErrorException: [SQL0104] Token 'CREATE TABLE SHEMA.TABLENAME was not valid. Valid tokens: : <IDENTIFIER> <PLI_STRING>

不确定该错误意味着什么,因此感谢您的帮助!

谢谢!

最佳答案

问题出在您的创建表语法上。

这似乎与有效的 DB2 语法不同。相反,它看起来很像 SQL Server 语法。请参阅您的特定 DB2 版本的文档。

就调试此问题而言,您应该首先获得直接在 SQL 客户端中运行的 create table 语句,然后再尝试将其放入动态 SQL 中。然后,您应该先让复合 SQL 语句正常工作,然后再尝试将其合并到 Java 中。

关于java - 如果 DB2 中不存在表,则创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33692451/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com