我有一个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 '
答案 0 :(得分:1)
至少对于MS SQL,您可以使用具有正确ASCII值的CHAR()并在字符串中的正确位置连接,也可以在SQL字符串本身中包含换行符,制表符等。该字符串可以跨越多行。例如,这应该有效:
SET @SQL = 'ALTER TRIGGER [dbo].[TRG_' + SUBSTRING(@TABLE_NAME,5, LEN(@TABLE_NAME)) + '_$AUD]
ON [dbo].[' + @TABLE_NAME + ']
...
'
答案 1 :(得分:0)
这不会改变实际的触发器定义,但是当您需要处理它时,可以使用Instant SQL Formatter之类的工具。
答案 2 :(得分:0)
使用此
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 '