求助:一条值根据多列如何变为多条值????请问有没什么办法把这一条值根据后面三列得到多条数据我是要把得到
求助:一条值根据多列如何变为多条值????
请问有没什么办法把这一条值根据后面三列
得到多条数据
我是要把得到的数据插入到另一个表,根据每个列分别写一个语句可以,不过列有十几个,要写十几条,想看看能否放一起实现,网上查的都是根据某列的值变为多行,不知这种情况是否能实现????
sql
[解决办法]
CREATE OR REPLACE PROCEDURE gettaskdone AS
v_sql VARCHAR2(2000);
BEGIN
v_sql := 'INSERT INTO t3 ';
FOR i IN (SELECT ywlb, xmlx, colname FROM t1 WHERE ywlb = '001') LOOP
v_sql := v_sql
[解决办法]
'SELECT lsh, grbjh, djrq,'
[解决办法]
i.ywlb
[解决办法]
','
[解决办法]
i.xmlx
[解决办法]
','
[解决办法]
i.colname
[解决办法]
' FROM t2 WHERE '
[解决办法]
i.colname
[解决办法]
' IS NOT NULL UNION ALL';
END LOOP;
v_sql := substr(v_sql, 1, length(v_sql) - 9);
dbms_output.put_line(v_sql);
EXECUTE IMMEDIATE v_sql;
END gettaskdone;
