我可以执行select返回的行吗?

时间:2017-09-14 12:48:57

标签: sql sql-server

我想知道我是否可以创建一个脚本来执行返回的行。我有两个由我设计的select返回的行,它看起来像

const routes: Routes = [ { path: 'gesuch', loadChildren: './sections/gesuch/gesuch.module#GesuchModule' }, { path: 'gesuch-neu', loadChildren: './sections/gesuch/gesuch.module#GesuchModule' } ];

我删除默认设置并使绑定默认设置。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果您可以在一个批处理中运行所有语句,并且它们已经使用分号正确终止,那么您可以构建一个SQL字符串并立即执行整个操作。

DECLARE @sql NVARCHAR(MAX) = (SELECT SomeColumn
                              FROM [Table]
                              FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)');
EXECUTE sp_executesql @sql;

如果您想逐个执行语句,可以使用游标:

DECLARE sqlCursor CURSOR LOCAL STATIC READ_ONLY FORWARD_ONLY
FOR
    SELECT  SomeStatement
    FROM    [Table];

DECLARE @sql NVARCHAR(MAX);
OPEN sqlCursor;

FETCH NEXT FROM sqlCursor INTO @sql;

WHILE @@FETCH_STATUS = 0
BEGIN
    EXECUTE sp_executesql @sql;
    FETCH NEXT FROM sqlCursor INTO @sql;
END