2013-12-18 23 views
0

我是新來的sql和我試圖做一個簡單的插入每天使用, 我有一個表(矩陣),持有3個變量之間的連接, 大多數情況下,我必須插入或更新的矩陣,但每個插入相乘因爲基質的,我已經做了簡單的例子:如何在sql導航器中使用多個插入

SELECT * FROM table_name 
where col1='A' 
and col2 in ('1G','2F','3Q') 
and col3 ='B' 
/
INSERT INTO table_name VALUES('A','1G','B'); 
INSERT INTO table_name VALUES('A','2F','B'); 
INSERT INTO table_name VALUES('A','3Q','B'); 

輸出表將是

A 1G B 
A 2F B 
A 3Q B 

,並在更復雜案例

SELECT * FROM table_name 
where col1='A' 
and col2 in ('1G','2F','3Q') 
and col3 in ('B','C') 
/
INSERT INTO table_name VALUES('A','1G','B'); 
INSERT INTO table_name VALUES('A','2F','B'); 
INSERT INTO table_name VALUES('A','3Q','B'); 
INSERT INTO table_name VALUES('A','1G','C'); 
INSERT INTO table_name VALUES('A','2F','C'); 
INSERT INTO table_name VALUES('A','3Q','C'); 

輸出表將

A 1G B 
A 2F B 
A 3Q B 
A 1G C 
A 2F C 
A 3Q C 

有沒有一種方法,使插入,將看起來像這樣或具有類似的功能 例如答:

INSERT INTO table_name VALUES('A',in ('1G',2F','3Q'),'B'); 

和例如b:

INSERT INTO table_name VALUES('A',in ('1G',2F','3Q'),in ('B','C')); 

我通常每次使用大約100個新值,因爲矩陣相乘的每列中的值相同

回答

1

您可以組合select和insert語句。例如:

INSERT INTO table_name (col1, col2, col3) 
SELECT col1, col2, col3 
FROM table_x 
WHERE col1='A' 
AND col2 in ('1G','2F','3Q') 
AND col3 ='B' 

要做到這一點table_x將需要包含所有你想要的值。如果你正在尋求一種方法來編寫一個插入語句,它使用常量來構建一個「表」值,那麼你就不能這樣做。

相關問題