PL / SQL Developer:多个语句?

时间:2011-08-02 22:49:42

标签: sql oracle plsqldeveloper

我有一个生成包含多个SQL UPDATE语句的文本文件的脚本:

UPDATE TableX SET Field1 = 'New value 1' WHERE Field2='1';
UPDATE TableX SET Field1 = 'New value 2' WHERE Field2='2';
UPDATE TableX SET Field1 = 'New value 3' WHERE Field2='3';
etc.

当我将上面的文本块粘贴到PL / SQL Developer的SQL窗口中时,它告诉我分号是无效字符。当我删除它时,它告诉我我的第一个声明没有正确终止。

如何在一次执行中运行这些语句?

4 个答案:

答案 0 :(得分:7)

我认为您正在使用“测试”窗口。这只能执行一个语句。 SQL窗口和命令窗口能够运行多个语句。

如果需要在“测试”窗口中运行它,可以将其嵌入begin..end块中,使其成为PL / SQL语句块。

答案 1 :(得分:3)

我也遇到了这个错误。您需要转到工具 - >首选项。在窗口类型中,转到SQL窗口并选择“自动选择语句”。这应该删除错误。

答案 2 :(得分:2)

尝试这种方式;

UPDATE TableX SET Field1 = 'New value 1' WHERE Field2='1'
/
UPDATE TableX SET Field1 = 'New value 2' WHERE Field2='2'
/
UPDATE TableX SET Field1 = 'New value 3' WHERE Field2='3'
/

答案 3 :(得分:1)

您好,

你可以试试这个。

Declare 
Begin 
 UPDATE TableX SET Field1 = 'New value 1' WHERE Field2='1';  
 UPDATE TableX SET Field1 = 'New value 2' WHERE Field2='2'; 
 UPDATE TableX SET Field1 = 'New value 3' WHERE Field2='3'; 
End;

在sql developer中执行多个查询,你需要创建匿名块。

希望这能让您的工作变得轻松。