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

时间:2014-05-14 15:54:58

标签: sql stored-procedures

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

2 个答案:

答案 0 :(得分:8)

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

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

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

答案 1 :(得分:5)

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

Stored Procedure是一个准备好的SQL语句,存储在数据库服务器上,可以通过调用它来重用。

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