我需要帮助动态查询以下情形。oracle动态查询问题:如何将值作为字符串的一部分来获取值
我具有其中我存储输出变量的字符串将被传递给过程B.
程序B接收的表名也作为输入参数而操作A不程序A,但是过程A也使用tablename变量。
我想到的是如何使用的表名变量在程序的字符串,这样当字符串传递过程B,表名的它的输入变量值被分配到表名变量程序A的字符串中
我会尝试用一些代码示例来解释。这是一个示例,没有实际的代码。
proc A
begin
--- string that uses tablename but has no variable input for tablename.
mystr:='AND DAY_OF_WEEK_ID IN (SELECT B.DAY_ID FROM DAY_OF_WEEK B
INNER JOIN CD.' || 'v_tableName' || ' CD
ON TRIM(TO_CHAR(TO_TIMESTAMP(CD.GMT_SEIZ_DT_TIME,''YYYYMMDDHH24MISS''), ''DAY'')) = B.NAME WHERE B.DAY_ID IN (1,7))';
end;
proc B
(v_tablename, mystr)
begin
mystr2:= 'insert into sometable
select ' || mystr || ' from ' || v_tablename
end;
所以myStr的字符串已经包含了,我想相同的值被指定为程序B.可变v_table_name表名变量
我道歉,如果我做了方案太复杂,但我不能找不到更好的方法。
问候。
我不明白的问题 –
对不起。我知道我的解释很复杂。发布实际的代码对我来说是不可行的。 –