我有一个生成包含多个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窗口中时,它告诉我分号是无效字符。当我删除它时,它告诉我我的第一个声明没有正确终止。
如何在一次执行中运行这些语句?
答案 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中执行多个查询,你需要创建匿名块。
希望这能让您的工作变得轻松。