gpt4 book ai didi

java - 使用 JDBC 驱动程序从 java 声明并使用 t-sql 变量

转载 作者:行者123 更新时间:2023-12-01 22:07:09 25 4
gpt4 key购买 nike

我正在尝试从 SQL 服务器上的 Java 客户端运行此 SQL 脚本。

DECLARE @CON_NAME VARCHAR(100);
DECLARE @COMMAND VARCHAR(200);

SELECT @CON_NAME=NAME FROM sys.key_constraints WHERE [type] = 'PK' AND [parent_object_id] = Object_id('dbo.MY_TABLE');
SELECT @COMMAND=CONCAT('ALTER TABLE MY_TABLE DROP CONSTRAINT ', @CON_NAME);
SELECT @COMMAND;
EXEC (@COMMAND);

java 客户端所做的就是逐行运行脚本。

我收到以下异常:

com.microsoft.sqlserver.jdbc.SQLServerException: Must declare the scalar variable "@CON_NAME".

如何解决这个问题?

最佳答案

不要逐行运行脚本,而是将整个脚本作为一条语句发送。

单独运行每一行意味着您正在运行多个脚本,就像您将每一行放在单独的 .sql 文件中一样。

DECLARE 的变量是脚本的本地变量,因此单独运行这些行没有任何意义。

关于java - 使用 JDBC 驱动程序从 java 声明并使用 t-sql 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32493660/

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