脚本,存储过程,T-SQL,PL/SQL之间的区别

C.J*_*.J. 4 sql stored-procedures

我对这些术语感到非常困惑.我曾经参加过一个名为PL/SQL的课程,然后当我出来工作时,我遇到了其他术语,如存储过程,T-SQL甚至脚本.它们看起来与我非常相似,但它们之间究竟有什么不同?(如果有的话)

D S*_*ley 9

这里有一些粗略的定义来解释这些差异.

  • PL/SQL - 特定于Oracle数据库的SQL变体.
  • T-SQL(Transact-SQL) - 特定于Microsoft(和Sybase)数据库的SQL变体.
  • 存储过程 - 一组预编译并存储在服务器上以供重用的SQL命令
  • 脚本 - 一组临时运行的SQL命令(未预编译/不用于重用)

存储过程和脚本之间存在更多差异(例如,sprocs可以有参数等),但这是根本区别.


Rob*_*vey 5

T-SQL是Microsoft的SQL版本. PL/SQL是Oracle的SQL版本.两者都符合ANSI SQL,但包含不在标准中的其他功能.

一个存储过程是存储在数据库服务器上,并且可以通过调用它可以重复使用准备好的SQL语句.

脚本基本上是代码,但脚本通常是小型的独立程序,无需GUI的帮助即可运行.存储过程可以正确地称为脚本.