使用1个变量输入PL / SQL插入到db中的多行?

时间:2016-04-21 04:24:37

标签: oracle

我有输入

var1,var2,var3

我需要插入或更新到3行表中,拆分为“,”,我该怎么做,谢谢

1 个答案:

答案 0 :(得分:2)

如果我正确理解了你的问题,你想在一个输入文本行中创建三行,这些行由一些分隔符细分。您可以使用Regex_substr

执行此操作
CREATE TABLE TEST AS ( 
SELECT REGEXP_SUBSTR ('var1,var2,var3','[^,]+',1 ,LEVEL) values 
FROM DUAL 
CONNECT BY REGEXP_SUBSTR ('var1,var2,var3','[^,]+' ,1 ,LEVEL) IS NOT NULL)

只是插入后续内容:

INSERT INTO TEST (
SELECT REGEXP_SUBSTR ('var1,var2,var3', '[^,]+',1,LEVEL) VALUES
FROM DUAL
CONNECT BY REGEXP_SUBSTR ('var1,var2,var3','[^,]+' ,1 ,LEVEL) IS NOT NULL)

对于更新,您需要更具体地说明操作(之前 - >之后)将完成的操作