多次插入带有SQL参数数目可变

我对甲骨文的表t_test两个字段11g的:

CITY NAME ----- -------------- MIAMI JOHN MIAMI ERNEST MIAMI ERICK TAMPA DAN

我想只用一个INSERT命令,并传递值插入上查询多个行NAME ,查询中的一个参数。 这将是这样的:

INSERT INTO T_TEST (CITY, NAME) SELECT :1,(:2,:3,:4,:5) from dual

其中参数1是迈阿密,参数2,3,4和5将是diferent名称。

我已经看到一些例子,我想最好的选择将是一个UNPIVOT,所以我想有一个子查询将返回一个表中的名称为行,但我不知道如何使用UNPIVOT这样做。

--------------解决方案-------------

没有什么花哨这里,只是一个catesian加入(如:没有条件参加)

INSERT INTO T_TEST (CITY,NAME)
SELECT C.city
, N.name
FROM ( SELECT :1 AS city FROM DUAL ) C
, ( SELECT DECODE( LEVEL, 1, :1
, 2, :2
, 3, :3
, 4, :4
, 5, :5 ) AS name
FROM DUAL
CONNECT BY LEVEL <= 5 ) N

分类:神谕 时间:2012-07-24 人气:0
本文关键词: 甲骨文,插入,UNPIVOT
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.755 (s). 9 q(s)