10

我有一个脚本,它生成一个包含几个 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

4 回答 4

7

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

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

于 2011-08-02T23:01:21.530 回答
3

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

于 2013-09-03T15:31:42.927 回答
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'
/
于 2011-09-05T19:16:32.340 回答
2

你好,

你可以试试这个。

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 要执行多个查询,您需要创建匿名块。

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

于 2012-12-11T12:41:57.990 回答