我有一个SQL脚本,它获取表名并为这些表创建触发器。当我在创建触发器之后打开它时,所有的代码都在一行上。如何在脚本中添加制表符和换行符,以使触发器更具可读性?
示例代码:
SET @SQL = 'ALTER TRIGGER [dbo].[TRG_' + SUBSTRING(@TABLE_NAME,5, LEN(@TABLE_NAME)) + '_$AUD] '
SET @SQL = @SQL + 'ON [dbo].[' + @TABLE_NAME + '] '
SET @SQL = @SQL + 'FOR UPDATE, DELETE '
SET @SQL = @SQL + 'AS '
SET @SQL = @SQL + 'DECLARE '
SET @SQL = @SQL + '@BIT INT, '
SET @SQL = @SQL + '@FIELD INT, '
SET @SQL = @SQL + '@CHAR INT '发布于 2010-06-30 23:08:17
至少对于MS SQL,您可以将CHAR()与正确的ASCII值一起使用,并在字符串中的正确位置进行连接,或者只在SQL字符串本身中包含换行符、制表符等。字符串可以跨越多行。例如,这应该是可行的:
SET @SQL = 'ALTER TRIGGER [dbo].[TRG_' + SUBSTRING(@TABLE_NAME,5, LEN(@TABLE_NAME)) + '_$AUD]
ON [dbo].[' + @TABLE_NAME + ']
...
'发布于 2010-06-30 23:07:19
这不会改变实际的触发器定义,但是当您需要处理它时,您可以使用像Instant SQL Formatter这样的工具。
发布于 2010-06-30 23:09:13
使用这个
SET @SQL = 'ALTER TRIGGER [dbo].[TRG_' + SUBSTRING(@TABLE_NAME,5, LEN(@TABLE_NAME)) + '_$AUD]
ON [dbo].[' + @TABLE_NAME + ']
FOR UPDATE, DELETE
AS
DECLARE
@BIT INT,
@FIELD INT,
@CHAR INT 'https://stackoverflow.com/questions/3150538
复制相似问题