我正在构建一个程序,它以以下形式生成 T-SQL 查询:
DECLARE @In TABLE (Col CHAR(20))
INSERT INTO @In VALUES value1, value2... value1000
GO
INSERT INTO @In VALUES value1001, value1002...
Run Code Online (Sandbox Code Playgroud)
但第二条INSERT
语句抛出错误:
消息 1087,级别 15,状态 2,第 1 行
必须声明表变量“@In”。
我究竟做错了什么?
您可以使用VALUES (...), (...)
:
INSERT INTO table(colA, colN, ...) VALUES
(col1A, col1B, ...)
, ...
, (colnA, colnB, ...)
Run Code Online (Sandbox Code Playgroud)
之内:
DECLARE @In TABLE (Col CHAR(20))
INSERT INTO @In VALUES
('value1')
, ('value2')
, ...
, ('value1000')
Run Code Online (Sandbox Code Playgroud)
它将一次插入 X 行。不需要GO。之前声明的变量在 之后GO
不再存在GO
。
归档时间: |
|
查看次数: |
37334 次 |
最近记录: |