我有一个创建表查询,一个更新查询,然后删除表查询。我需要一次运行这三个查询。做这个的最好方式是什么?
Example
1st Query: Create table A.
2nd Query: Update value in table A
3rd Query: Drop table A.
Run Code Online (Sandbox Code Playgroud)
我不想一一运行这三个查询,而是想通过PLSQL或其他方式继续运行它们。请帮忙。
为什么不创建一个PROCEDURE?
例如
CREATE OR REPLACE PROCEDURE foo
IS
BEGIN
-- The create sentence goes here. For example:
-- EXECUTE IMMEDIATE
-- 'CREATE TABLE bar (...)';
-- The update sentence goes here
-- EXECUTE IMMEDIATE
-- 'UPDATE bar SET ...';
-- The drop/delete sentence goes here.
-- EXECUTE IMMEDIATE
-- 'DROP TABLE bar;'
END;
Run Code Online (Sandbox Code Playgroud)
您可以使用以下方法进行测试:
SET serveroutput ON;
exec foo;
Run Code Online (Sandbox Code Playgroud)
它PROCEDURE存储在数据库中,以便您稍后可以使用它。
希望这可以帮助。
将3个查询依次用分号隔开:
SELECT *
FROM table_to_be_selected;
DROP TABLE the table_to_be_dropped;
TRUNCATE TABLE table_to_be_truncated;
Run Code Online (Sandbox Code Playgroud)
您可以将这些查询连接为字符串并执行该字符串。
另一种方法是这种解决方案。
只需将三个查询一个接一个地放入 .sql 文件中,每个语句后面加分号,然后将其作为脚本执行(在 SQL*Plus 提示符下使用或@scriptname.sql在 TOAD/SQL Developer [或等效工具] 中使用其脚本执行函数)。
| 归档时间: |
|
| 查看次数: |
40120 次 |
| 最近记录: |