簡體   English   中英

我為什么要在sybase中使用GO命令?

[英]Why should I use GO command in sybase?

為sybase編寫sql時為什么要使用GO 在我的項目的大多數現有sql中,沒有GO,但是當為表創建生成DDL時,作為示例,應用程序插入許多GO語句。

感謝答案,我知道GO類似於; 在其他數據庫中,人們已經有人指出它是一個分隔符。

另外一個問題是,sybase中的GO完全等同於打字; 在Oracle?

這是一個批處理分隔符。 GO用於告訴引擎處理單詞GO之后的所有內容作為批處理中的新命令。

CREATE PROC usp_blah as ...
GO

CREATE some-otherproc as ...
GO

如果沒有GO ,優化器將在第二個CREATE語句中拋出錯誤

相比:

    Do something
    GO
    Do something else
    Go

至:

    Do something
    Do something else

如果在第一個示例中的“執行某些操作”期間出現錯誤,則仍會運行“執行其他操作”。 在第二個例子中不是這種情況。 正如Stuart指出的那樣,有些動作需要成為批處理的第一個語句,這意味着你必須將GO放在它們之前,除非它是你文件的第一行。

所謂的分隔符go不是SAP / Sybase Transact-SQL語言語法的任何一部分。

它通常被認為是一個批處理分隔符,用於將一堆T-SQL語句與下一個語句分開。

由於所有SAP / Sybase批處理腳本都是使用本機isql命令行客戶端執行的,因此isql客戶端會將go解釋為將目前為止在其緩沖區中輸入的所有T-SQL命令通過Server-Client提交給ASE服務器的信號用戶網絡連接(go不會出現在網絡跟蹤中,也不會發送到服務器)。

順便說一下,isql只能識別只用小寫字母而不是任何空白區域。

GO是一個SQL分隔符

在作業命令的文本[gG的] [OO]的任何事件被看作是一批分隔符go

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM