Her*_*des 5 sql t-sql sqlcmd identity-insert sql-server-2008
案件
目前我正在研究数据库种子脚本,用sqlcmd
.执行.例如这个脚本示例:
IF (SELECT COUNT(*) FROM Genders)=0
BEGIN
PRINT N'Seeding table Genders...'
SET IDENTITY_INSERT Genders ON
GO
INSERT INTO Genders (GenderId, Description) VALUES (0, 'Onbekend');
INSERT INTO Genders (GenderId, Description) VALUES (1, 'Vrouw');
INSERT INTO Genders (GenderId, Description) VALUES (2, 'Man');
INSERT INTO Genders (GenderId, Description) VALUES (3, 'Onzijdig');
INSERT INTO Genders (GenderId, Description) VALUES (4, 'Vrouwman');
INSERT INTO Genders (GenderId, Description) VALUES (5, 'Manvrouw');
SET IDENTITY_INSERT Genders OFF
END
GO
Run Code Online (Sandbox Code Playgroud)
问题
但是,如果我sqlcmd
在SQL Server Management Studio中使用模式执行它,它会给我这个错误:
消息102,级别15,状态1,行5'ON'附近的语法不正确.
消息102,级别15,状态1,行10'END'附近的语法不正确.
用Google搜索,但无法弄清楚我做错了什么.没有IF/BEGIN/END如果有效,但我喜欢先进行检查.
问题:
提前致谢!!
你不能拥有GO
内部BEGIN
和END
.试试以下
SET IDENTITY_INSERT Genders ON
IF (SELECT COUNT(*) FROM Genders)=0
BEGIN
PRINT N'Seeding table Genders...'
INSERT INTO Genders ...
END
SET IDENTITY_INSERT Genders OFF
GO
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2523 次 |
最近记录: |