我有以下查詢,我正在使用批處理文件運行。在批處理文件我用下面的語法:消息102,級別15,狀態1行1'n'附近的語法錯誤
echo populating Application table with values...
SET "installFile=%sqlDir%\Install\DataFiles\Insert_ApplicationNames.sql"
OSQL /n /i "%installFile%" /d%db% /U%user% /P%pswd% /S%serv%
echo
echo populated Application table with values in Insert_ApplicationNames.sql
echo
下面顯示的SQL運行,而無需從SQL Management Studio中執行時的任何錯誤,但它一直在爲批處理腳本的一部分運行示數出來。有人能幫我找到我在這裏做錯了什麼嗎?
另外,行也被插入,但是由於批處理腳本拋出的錯誤導致我們每晚的QA安裝中斷。
IF NOT EXISTS(SELECT * FROM Application WHERE name = '')
BEGIN
INSERT INTO Application
(Name)
VALUES
('')
END
GO
IF NOT EXISTS(SELECT * FROM Application WHERE name = 'App1.exe')
BEGIN
INSERT INTO Application
(Name)
VALUES
('App1.exe')
END
GO
IF NOT EXISTS(SELECT * FROM Application WHERE name = 'App2.exe')
BEGIN
INSERT INTO Application
(Name)
VALUES
('App2.exe')
END
這是'Insert_ApplicationNames.sql'中的確切腳本嗎? – 2011-05-06 18:36:02
是的,唯一的區別是我有兩個以上的應用程序名稱與上面一起插入3 – EndlessSpace 2011-05-06 18:39:07
您使用哪種**版本**的SQL Server?從2005年起,您應該使用'sqlcmd'實用程序而不是osql ... – 2011-05-06 19:20:22