1
我是比较新的SQL所以原谅我的无知,PL/SQL复制/插入多行一个行中的另一个表
我有三个表,SRS_CAP,SRS_IPF和SRS_URA。
我想从SRS_IPF复制数据到SRS_URA,其中(一些)SRS_IPF的主键等于SRS_CAP的主键。
具体来说,这是我的问题出现的地方,我想从SRS_IPF复制多行到SRS_URA中的一行。下面的脚本说明我想达到的目标,但不打算工作 - 必须有一个更有效的方法(和一个实际工作!):
INSERT INTO srs_ura
(ura_stuc, ura_seqn, ura_stat, ura_name, ura_orgn, ura_add1)
SELECT ipf_ipuc, mySEQ, 'GP',
(SELECT ipf_valu
FROM srs_ipf
WHERE ipf_code = 'IPQ_REF1TIT'
AND ipf_ippc = CAP_MCRC
AND ipf_ipuc = CAP_STUC),
(SELECT ipf_valu
FROM srs_ipf
WHERE ipf_code = 'IPQ_REF1ORG'
AND ipf_ippc = CAP_MCRC
AND ipf_ipuc = CAP_STUC,
(SELECT ipf_valu
FROM srs_ipf
WHERE ipf_code = 'IPQ_REF1AL1'
AND ipf_ippc = CAP_MCRC
AND ipf_ipuc = CAP_STUC)
FROM srs_ipf, srs_cap
WHERE ipf_ippc = CAP_MCRC AND ipf_ipuc = CAP_STUC;
正如你所看到的 - 我想重复将ipf_valu字段插入srs_ura中的多个列中,但是srs_ipf中同一行的ipf_code不同。
所以我的问题是,我应该研究什么领域的SQL编程,以达到上述目的?
我还有关于自动排序和NCLOB的问题,但我会在稍后解决。我在Oracle服务器上。
在此先感谢
感谢您的答复 - 我得到一个无效的标识符错误不幸 – Marcus 2012-07-24 14:33:53
帮我帮你:你可以发布与每个表中的相关列和几行和预期的结果最小表的说明? :) – 2012-07-24 14:35:42
啊我看到 - 我用ipf_valu(field)替换了srs_ipf(table_name)并获得了我之后的结果。那么我是否可以假设我可以创建某种视图并以这种方式复制数据?再次感谢 – Marcus 2012-07-24 14:46:33