sql >> Databáze >  >> RDS >> Sqlserver

Jak vytvořit textový soubor pomocí skriptu SQL s textem |

Znak roury má v dávkových příkazech zvláštní význam, takže musí být unikl pomocí znaku stříšky. Mělo by to fungovat:

DECLARE @Text AS VARCHAR(100)
DECLARE @Cmd AS VARCHAR(100)
SET @Text = 'Hello world^| '
SET @Cmd ='echo ' +  @Text + ' > C:\AppTextFile.txt'
EXECUTE Master.dbo.xp_CmdShell  @Cmd

Ačkoli to opravdu není dobrý způsob, jak zapisovat data do textového souboru:SQL Server by obvykle neměl mít oprávnění zapisovat do kořenového adresáře jednotky C:a xp_cmdshell je ve výchozím nastavení zakázáno. Navrhuji, abyste se podívali na alternativy jako sqlcmd.exe , bcp.exe nebo malý skript ve vašem preferovaném jazyce (PowerShell, Perl, Python, cokoliv).

Obecně je mnohem snazší, bezpečnější a flexibilnější dotazovat se na data ze serveru SQL, než je vytlačovat ze strany serveru. Ve vašem konkrétním případě to vypadá, že chcete vypsat soubor s oddělovači a bcp.exe je k tomuto účelu určen .



  1. Normalizace v MYSQL

  2. Dotaz připojení Nodejs MySQL vrátí hodnotu volání funkce

  3. Aktualizace schématu tabulky bez ovlivnění dat v Laravelu

  4. Jaký je datový typ pro unix_timestamp (MySQL)?