Dan*_*ett 5 sql t-sql sql-server
我知道我可以做到以下几点:
DECLARE @Tab CHAR(1)
SET @Tab = CHAR(9)
EXEC('xp_cmdshell ''echo ' + @Tab + 'Some text>> C:\test.txt'', NO_OUTPUT')
Run Code Online (Sandbox Code Playgroud)
但有没有办法在一行中做到这一点?即删除需要声明和设置选项卡,并直接输出EXEC?
在一行但没有删除声明.EXEC和sp_executesql不允许在命令或参数中使用函数调用.所以你需要声明一个字符串变量来在命令中插入CHAR(9):
exec('DECLARE @str varCHAR(200);
set @str = ''xp_cmdshell ''''echo '' + CHAR(9) + ''Some text>> C:\test.txt'''', NO_OUTPUT'';
EXEC(@str)');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17950 次 |
| 最近记录: |