我想创建首先询问用户输入的表。然后根据输入,选择添加哪些列。
例如,如果响应为“N”,则创建包括列col1,col2,col3的表。 如果响应为“Y”,则创建表,包括列col1,col2,col3,col4,col5。
这可能吗? 如果是,请提供简单而原始的查询,以便我可以将其应用于我的案例。
谢谢,
答案 0 :(得分:0)
使用SQL * Plus很简单:
sed --in-place 's/^M//g' main.py
您可以将脚本存储为文件,并使用@filename从SQL * Plus调用它。
答案 1 :(得分:0)
CREATE OR REPLACE FUNCTION tmp_custom_DDL( p_input VARCHAR2 IN, p_resp CHAR IN OUT) RETURN CHAR
AS
v_str VARCHAR2(4000);
IF p_resp = 'Y' THEN
v_str := 'col1 varchar2(10), col2 varchar2(10), col3 varchar2(10)';
ELSE v_str := 'col1 varchar2(10), col2 varchar2(10), col3 varchar2(10), col4 varchar2(10), col4 varchar2(10) ' ;
EXECUTE IMMEDIATE v_comm_1 || v_str || v_comm2;
--v_comm_1 is the first half of create table command till the specified cols
--v_comm_2 is the rest of the create table command
RETURN p_resp;
END;
这只是一个快速草案,修复了一些词法错误和缺少的定义:)(这是第一步)