2012-09-03 36 views
1

我生成SQL使用Sybase讚揚插入一些新行插入基於以前的內容(用舊ORM工作)的表,想知道是否有執行生成的SQL如果沒有了複製和粘貼?的Sybase運行SQL生成從以前的查詢

我使用類似

SELECT 'INSERT INTO Mapper VALUES (''' + ClassName + ''', ''NewObject'', ''NewId'', '''+convert(varchar(10), max(Sequence)+1)+''')' 
FROM Mapper WHERE ClassName IN ('James', 'Steve') GROUP BY ClassName 

對於表像

ClassName | ObjectName | ID | Sequence 

這個輸出結果,如:

INSERT INTO Mapper VALUES ('James', 'NewObject', 'NewId', '38')   
INSERT INTO Mapper VALUES ('Steve', 'NewObject', 'NewId', '24') 

是否有可能現在運行這個genereated SQL不必須使用SQL(使用Aqua Data Studio)在Sybase內複製和粘貼?

目前我只是複製並粘貼回到同一窗口

感謝,

-

注意,如果這有什麼差別,它會是2000+行

PS我剛剛注意到我用了很多字,對不起^ _^

回答

0

您可以在您的語句中使用CURSOR,並使用EXEC命令來執行每行中生成的SQL。

我假設這是一次性的任務,而不是一個持續的過程,並有一個理由,爲什麼你不使用INSERT table SELECT....

+0

葉青,你是正確的,這是一次性的批量任務,雖然我忘記了INSERT SELECT,因爲我之前沒有用過CURSOR –