我已经编写了一个脚本,需要对其进行检查才能运行它(@printonly = 0)
我需要首先格式化脚本以提高可读性。我将语句包装到变量中,然后打印该变量。
我要保持查询部分整洁,还要使打印部分以理想的格式输出。
1)打印区域中的(第二个)UPDATE我想要一个空白的新行,然后显示UPDATE。 我可以将其内置到顶部的查询中吗?
2)由于查询区域中的格式干净,打印区域中的(第三个)UPDATE出现在选项卡中。如何在打印区域中取消选中该标签,同时在查询区域中保持良好的格式?
3)与1)相同,在(第四个)UPDATE之前需要一个新的空白行。
DECLARE @remoteinstance nvarchar(max)
DECLARE @exec nvarchar(max)
DECLARE @printonly bit
SET @printonly = 1
--section 1
SET @remoteinstance = '[linkedservername]'
SET @exec = 'UPDATE r_st
SET.....
FROM.... AS st
INNER JOIN ' + @remoteinstance + '.. AS r_st
st... = r_st... AND st... <> r_st... '
IF (@printonly = 1) BEGIN PRINT @exec END
ELSE BEGIN EXEC (@exec) END
SET @exec = 'UPDATE ' + @remoteinstance + '...
SET xx = xy
UPDATE ' + @remoteinstance + '....
SET xz = xa
WHERE ..... '
IF (@printonly = 1) BEGIN PRINT @exec END
ELSE BEGIN EXEC (@exec) END
--section 2 -
SET @remoteinstance = '[next linkedservername]'
SET @exec = ' {same as above}....
答案 0 :(得分:0)
使用CHAR(9)
控制制表符,使用CHAR(13)
进行换行。
declare @x varchar(100) = 'A';
set @x = @x + CHAR(13) + 'B';
set @x = @x + CHAR(9) + 'C';
print @x;
结果:
A
B C
如果要替换空格或制表符,请使用REPLACE
。
print REPLACE(@x, CHAR(9), '!')
结果:
A
B!C