① 5分鍾最佳:sql語句加了個go 為什麼報錯
不是go 錯了 是你的 @a varchar(50) 沒指定大小吧 試試看
沒看清楚 看了一眼 以為你在存儲過程那 go是用來連接的兩個語句塊的
就是說用來連接兩個可以獨立運行的語句 你的去掉GO就可以了 用GO一般用來標明先後順序,就像你舉的例子,先創建表,再往表裡插入數據,但是從語法上這兩個句子都能通過編譯 希望你明白了
② 我用vb調用外部的一個txt文件,txt文件中寫的全部是sql語句,多個sql語句中間都有go,在vb中執行時報錯
go是SQL內部的命令,其他編程語言調用時是用不著的。所以你要麼先在txt中把所有go刪掉,要麼就在vb中調用sql時先檢測一下,如果是go就跳過不執行。
③ SQL 裡面 exe 後面的語句為什麼不能用 go
exec ('命令字元串'),該'命令字元串'必須是'一個'批語句,而 go 會將一個批語句拆解為2個批語句,所以會出錯.
④ sql server 中有的時候缺少 go 會報錯,是為什麼比如: create database somename go sp_renamedb'some'
go代表著批處理命令的一次執行,如果你的下一條命令依附於上一條命令,則在上一條命令結束後,要寫上go,意味著go之前的命令要執行一次。
否則,這兩條命令將捆綁在一起編譯後統一執行,像你這種情況,在somename資料庫還未創建的情況下,下一條命令對somename重命名自然執行不過。