oracle SQL加上如何在SQL文件中结束命令?

use*_*026 10 oracle sqlplus

我有几个命令的SQL文件.
什么是在脚本中结束行的正确方法?
它是斜线[/]分号[;]吗?
常规sqls和存储过程代码之间是否存在任何差异?
谢谢

Dav*_*sta 26

对于普通的SQL语句,无论是/在一行上,还是;在命令的末尾,都可以正常工作.

对于语句包括PL/SQL代码,例如CREATE FUNCTION,CREATE PROCEDURE,CREATE PACKAGE,CREATE TYPE,或匿名块(DECLARE/ BEGIN/ END),一;将不执行该命令.由于PL/SQL使用分号作为行终止符,因此必须在这些语句中禁止将其用作命令终止符.因此,在这些情况下,您必须使用/执行命令.

根据我的经验,人们更喜欢在可能的情况下使用分号,并仅在需要时使用斜杠.

请注意,对于SQLPlus客户端命令 - 例如SETEXECUTE- 根本不需要命令终止符,尽管人们通常会以习惯的分号结束它们.

  • +1,很好的答案.我认为人们更喜欢在可能的情况下使用分号是用分号结束命令并点击返回更自然,而不是点击返回,键入斜线,然后再次点击返回.当用于执行命令缓冲区时,斜杠必须是该行上的唯一字符. (3认同)