簡體   English   中英

PL / SQL和T-SQL有什么區別?

[英]What is the difference between PL/SQL and T-SQL?

我所知道的只是前者是Oracle而后者是SQL Server。 我假設有些事情在一對一中可能比較容易 ,但在PL中我能做些什么我不能在T?

我應該注意哪些根本區別? 如果是這樣,他們是什么?

唯一的根本區別是PL / SQL是一種帶有嵌入式SQL的過程式編程語言,而T-SQL是MS SQL Server使用的SQL的一組過程擴展。 語法差異很大。 這里有兩篇關於兩者之間轉換的好文章:

T-SQL和PL / SQL是兩種完全不同的編程語言,具有不同的語法,類型系統,變量聲明,內置函數和過程以及編程功能。

他們唯一的共同點是直接嵌入SQL語句,以及在數據庫中存儲和執行。

(在Oracle Forms中,PL / SQL甚至用於客戶端代碼,盡管與數據庫存儲的PL / SQL集成(幾乎)無縫)

它們不一定更容易,只是不同 - ANSI-SQL是它們之間共享的標准代碼 - SELECT,WHERE和其他查詢語法,而T-SQL或PL / SQL是控制流和高級編碼,它們被添加到頂層由數據庫供應商讓您一起編寫存儲過程和字符串查詢。

可以僅使用ANSI-SQL語句運行多個查詢,但是如果您想要執行任何IF語句或處理任何錯誤,那么您使用的不僅僅是ANSI規范中的內容,因此它可以是T-SQL或PL / SQL(或者,如果您不使用Microsoft或Oracle,則為供應商所稱的任何內容)。

我可以添加一個tid位,就是把你所知道的東西放在一個中,而在使用另一個時忘記你所知道的(除了盡可能使用基於集合的邏輯)。

差異的一個例子是游標通常被認為是T-SQL中不太理想的解決方案,除非有充分的理由使用它們,而通常沒有。 在Oracle中,游標更加優化,例如它們具有批量能力,即能夠處理一組數據,就像普通的SQL語句一樣。 所以在Oracle中使用游標不是即時失敗的代碼審查,它可能在TSQL代碼審查中。

整體T-SQL更容易學習,因為就語言而言,它並不多。 PL / SQL是一種更豐富的語言,因此更復雜。 如果有一本好書,這不是一個難以接受的語言。 總的來說,我非常喜歡PLSQL的深度,我非常喜歡TSQL,因為它很簡單。

PL / SQL和T-SQL是SQL的擴展。 PL / SQL用於Oracle數據庫,T-SQL用於Microsoft數據庫。

以下是更有用的信息: http//techdifferences.com/difference-between-t-sql-and-pl-sql.html

暫無
暫無

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

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