要求:- 创建表“ new_table”,并从“ existing_table”中选择*;
我想在oracle过程中实现上述查询,我也想使该过程接受用户输入的“ new_table”和“ existing_table”。
基本上,我不想在过程主体内对create table语句进行硬编码。
请向我建议以上情况的解决方案。
谢谢!
答案 0 :(得分:1)
您的过程将如下所示。
CREATE OR REPLACE PROCEDURE create_table (
p_tab_name VARCHAR2,
p_existing_tab VARCHAR2
)
AS
BEGIN
EXECUTE IMMEDIATE 'CREATE TABLE '
|| p_tab_name
|| ' AS SELECT * FROM '
|| p_existing_tab;
END;
/
然后您可以调用以下过程以获取用户输入:
BEGIN
create_table('&tab_name','&existing');
END;
/