Mad*_*ena 1 java t-sql sql-server jdbc
我正在尝试从 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);
Run Code Online (Sandbox Code Playgroud)
java客户端所做的是一行一行地运行脚本。
我收到以下异常:
com.microsoft.sqlserver.jdbc.SQLServerException: Must declare the scalar variable "@CON_NAME".
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
不要逐行运行脚本,而是将整个脚本作为一个语句发送。
单独运行每一行,意味着您正在运行多个脚本,就像您将每一行放在单独的 .sql 文件中一样。
DECLARE'd 变量是脚本的本地变量,因此单独运行这些行是没有意义的。
| 归档时间: |
|
| 查看次数: |
2445 次 |
| 最近记录: |