返回首页

什么是最有效的方式来执行下面的SQL"伪代码"(在存储过程):


 

SELECT PKEY_ID_COLUMN FROM table1 -- SELECT all the ID values from table1... (lets say 1,2,3)



-- Now, insert to another table the value 1 (for example...) along with each and every one of the values from the previous query. INSERT (1,1), (1,2), (1,3)

INSERT INTO relational_table (ID1,table1ID) VALUES(1,PKEY_ID_COLUMN)


它需要使用"SqlDataReader对象"(如在C#中)在存储过程本身?
无论如何,我怎么能执行正确吗?

回答

评论会员:迈赫迪吴拉姆 时间:2012/02/06
使用INSERT INTO ..​​.选择
insert into table1 (id1, table1id) select id as [id1], column as [table1id] from table2
评论会员:游客 时间:2012/02/06
djj55:如果使用T-SQL:codeprelang="SQL"spanclass="code-keyword"INSERT/spanspanclass="code-keyword"INTO/spanrelational_table(ID1,table1ID)spanclass="code-keyword"SELECT/spanspanclass="code-digit"1/span,PKEY_ID_COLUMNspanclass="code-keyword"FROM/spantable1/pre/code的:ArasuRajendran:你可以使用光标来做到这一点......使用下列程序,创建,PROCaddid_sp(@EIDINT)-table2的IDBEGINDECLARE@UIDINT-:TABLE1ID声明SELECT*FROMtblId,开放curUidcurUid光标取从curUid下到@UID@@FETCH_STATUS=0开始(EID,@UID)tbleid值插入从curUid获取下到@UID的密切curUidDEALLOCATEcurUid去NBSP,但这里的问题是,光标可以是昂贵的intermsIO性能,如果你的应用是小,那么可以使用上述步骤..希望它可以帮助ü..