使用 oneliner sql 语句创建包含换行符的存储过程

And*_*dén 2 sql-server stored-procedures dynamic-sql t-sql

我想将代码放在一行中,该行将创建一个包含换行符的存储过程。

  • 那可能吗?
  • 我需要使用 sp_executesql 吗?
  • 如何在 sql 语句中转义换行符?
  • 如何在字符串中转义换行符?

Eri*_*ing 6

是的,您可以使用动态 SQL 执行以下操作:

DECLARE @SQL NVARCHAR(MAX) = N'';
DECLARE @NewLine NCHAR(1) = NCHAR(10);

SET @SQL = @SQL + N'SELECT * ' + @NewLine + N'FROM sys.databases AS d ' + @NewLine + N'WHERE d.database_id > 4;' + @NewLine;

PRINT @SQL;
EXEC sys.sp_executesql @SQL;
Run Code Online (Sandbox Code Playgroud)