1

我正在使用 Sybase 生成 SQL 推荐,以根据先前的内容(使用旧的 ORM)将一些新行插入到表中,并且想知道是否有一种方法可以在不复制和粘贴的情况下执行生成的 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') 

现在是否可以运行这个生成的 SQL,而不必只使用 SQL(使用 Aqua Data Studio)在 Sybase 中复制和粘贴?

目前我只是将其复制并粘贴回同一个窗口

谢谢,

--

请注意,如果这有什么不同,它将适用于 2000 多行

Ps 我刚刚注意到我经常使用这个词,对不起^_^

4

1 回答 1

0

您可以CURSOR在您的语句上使用 a,并使用EXEC命令来执行每行中生成的 SQL。

我假设这是一个一次性的任务,而不是一个持续的过程,你不使用是有原因的INSERT table SELECT....

于 2012-09-03T08:45:05.547 回答