我有几十个表(mssql)以及要在所有触发器上实现什么以进行审计。会有很多高管电话。如何在所有表中循环并执行存储过程?
EXEC [dbo].[_create_audit_trigger] @TableName = N'City'
oknwwptz1#
你在找什么
DECLARE @SQL NVARCHAR(MAX); SELECT @SQL = STRING_AGG( CAST(CONCAT('EXEC [dbo].[_create_audit_trigger] @TableName = N''', QUOTENAME(S.Name), '.', QUOTENAME(T.Name), N'''' ) AS NVARCHAR(MAX)), ';') FROM Sys.Tables T JOIN Sys.Schemas S ON T.Schema_Id = S.Schema_Id; SELECT @SQL; -- EXEC -- EXEC sp_executesql @SQL;
db<>小提琴
7cwmlq892#
SELECT 'EXEC [dbo].[_create_audit_trigger] @TableName = N''' + QUOTENAME(schemas.name) + '.' + QUOTENAME(tables.name) + N'''' FROM sys.tables INNER JOIN sys.schemas ON tables.schema_id = schemas.schema_id
2条答案
按热度按时间oknwwptz1#
你在找什么
db<>小提琴
7cwmlq892#