如何使用 Sql Developer 查看刚刚在脚本中修改的 table
How to see the table just modified in a script with Sql Developer
我在 sql 开发者中有这个块:
begin
delete from temp;
insert into temp values (1);
dbms_output.put_line('Done');
end;
如果我按 F5,脚本运行正常。 table 更新为值 1,"Script output" 选项卡显示 'Done'。
但是我想在执行块后自动可视化我刚刚在 "result" 选项卡中修改的 table。那可能吗?如何?
任何帮助表示赞赏。谢谢。
不需要任何匿名 PL/SQL 块。只是 运行 SQL 语句作为脚本,
delete from temp;
insert into temp values (1);
select * from temp;
将以上三个语句放入SQLDeveloper工作表中然后按F5到运行作为脚本,请参阅脚本输出选项卡中的输出。您最终必须 COMMIT 才能使 table 更改永久化。
您不能在 PL/SQL 中执行 select * from table
,因为它是纯 SQL 语句。 PL/SQL 需要一个 INTO 子句。当你可以在纯 SQL.
中做同样的事情时,永远不要在 PL/SQL 中做
但是,如果您真的想在 BEGIN-END
块中执行此操作,请将 SELECT 语句放在 PL/SQL 块之外。不要合并 PL/SQL 和 SQL。
begin
delete from temp;
insert into temp values (1);
dbms_output.put_line('Done');
end;
/
select * from table;
您可以使用 CURSOR:
declare
a temp.id%type; --name column in your table
cursor c1 is
select id from temp;
begin
delete from temp;
insert into temp values (1);
open c1;
loop
fetch c1 into a;
dbms_output.put_line (a);
exit when c1%notfound;
end loop;
CLOSE C1;
end;
当 table 已填充并且您不使用删除时,以下内容也将起作用。
declare
a temp.id%type; --name column in your table
begin
-- delete from temp;
insert into temp values (1)
returning id into a;
dbms_output.put_line (a);
dbms_output.put_line('Done');
end;
我在 sql 开发者中有这个块:
begin
delete from temp;
insert into temp values (1);
dbms_output.put_line('Done');
end;
如果我按 F5,脚本运行正常。 table 更新为值 1,"Script output" 选项卡显示 'Done'。
但是我想在执行块后自动可视化我刚刚在 "result" 选项卡中修改的 table。那可能吗?如何? 任何帮助表示赞赏。谢谢。
不需要任何匿名 PL/SQL 块。只是 运行 SQL 语句作为脚本,
delete from temp;
insert into temp values (1);
select * from temp;
将以上三个语句放入SQLDeveloper工作表中然后按F5到运行作为脚本,请参阅脚本输出选项卡中的输出。您最终必须 COMMIT 才能使 table 更改永久化。
您不能在 PL/SQL 中执行 select * from table
,因为它是纯 SQL 语句。 PL/SQL 需要一个 INTO 子句。当你可以在纯 SQL.
但是,如果您真的想在 BEGIN-END
块中执行此操作,请将 SELECT 语句放在 PL/SQL 块之外。不要合并 PL/SQL 和 SQL。
begin
delete from temp;
insert into temp values (1);
dbms_output.put_line('Done');
end;
/
select * from table;
您可以使用 CURSOR:
declare
a temp.id%type; --name column in your table
cursor c1 is
select id from temp;
begin
delete from temp;
insert into temp values (1);
open c1;
loop
fetch c1 into a;
dbms_output.put_line (a);
exit when c1%notfound;
end loop;
CLOSE C1;
end;
当 table 已填充并且您不使用删除时,以下内容也将起作用。
declare
a temp.id%type; --name column in your table
begin
-- delete from temp;
insert into temp values (1)
returning id into a;
dbms_output.put_line (a);
dbms_output.put_line('Done');
end;