我有一种编程语言,它不允许我在多行上编写查询。它必须全部写成一行。
我无法发送GO命令,因为它必须在新行中。
因此,例如,这是行不通的:
insert into mytable (field1, filed2) values (1, 2), (3, 4); go它应该是
insert into mytable (field1, filed2) values (1, 2), (3, 4);
go我试过很多种方法,但都没有用:
insert into mytable (field1, filed2) values (1,2),(3,4); \r go
insert into mytable (field1, filed2) values (1,2),(3,4); \r\n go
insert into mytable (field1, filed2) values (1,2),(3,4); $r$n go
insert into mytable (field1, filed2) values (1,2),(3,4); char(10) go
insert into mytable (field1, filed2) values (1,2),(3,4); char(13) go是否有一种方法可以将其内联,并让Server将其作为两行使用?
发布于 2022-02-19 12:12:58
GO是而不是语言的一部分。它只被SSMS和sqlcmd使用和识别,将您的脚本分割成各个部分(“批”),然后每个部分分别编译和运行,一个接一个。
SSMS和sqlcmd以这种方式工作的原因是,这样可以有一个CREATE语句,然后是该表的INSERT语句。只有在表已经存在的情况下,INSERT-部件才会编译,只有在运行创建之后才会这样。
将多个插入合并到一个语句中是可以的。当怀疑下一条语句应该从何处开始时,可以添加分号(;)来标记前一条语句的结尾。
https://stackoverflow.com/questions/71184807
复制相似问题