【问题标题】:Unable to create a stored procedure in SSMS无法在 SSMS 中创建存储过程
【发布时间】:2020-04-23 10:52:27
【问题描述】:

我正在尝试在 SSMS 中创建一个存储过程以将查询结果导出到 CSV。但是我在创建时遇到了错误。

SQL 语句:

CREATE PROCEDURE SelectUsers
AS
    SELECT * 
    FROM [IMBookingApp].[dbo].[usertest]
    INTO OUTFILE 'C:/S3/users.csv'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n';
GO;

错误

消息 156,级别 15,状态 1,过程 SelectUsers,第 4 行 [批处理开始第 0 行]
关键字“INTO”附近的语法不正确

任何帮助将不胜感激。

【问题讨论】:

  • stackoverflow.com/questions/16079666/…。那里没有标记的答案,有一个投票可以为您解决问题
  • T-SQL 中根本不存在这种语法;没有INTO OUTFILE 命令。这似乎在 CLI 中使用 bcpOPENROWSET 会更好。
  • 在 SSMS 中使用此命令 - BCP master..[IMBookingApp].[dbo].[userTEST] out c:\S3\users.csv -c -t, -T 。我收到Incorrect syntax near '.' 的错误,它还说Could not find stored procedure 'BCP'
  • 请使用单个 '.' (BCP master.[IMBookingApp].[dbo].[userTEST])。
  • “关于在 SSMS 中使用此命令” @RahulSatal ...我在 CLI 中说 “使用 bcp”。 SSMS 不是 CLI,而是 IDE。 Powershell 是一个 CLI。

标签: sql-server tsql stored-procedures


【解决方案1】:

尝试以下方法:

exec master..xp_cmdshell 'bcp "[IMBookingApp].[dbo].[userTEST]" out "c:\S3\users.csv" -c -t, -T'

或者试试

bcp "select * from [IMBookingApp].[dbo].[userTEST]" queryout "c:\S3\users.csv" -c -t, -T 

从命令行

【讨论】:

  • 它给出了这个错误 -The EXECUTE permission was denied on the object 'xp_cmdshell', database 'mssqlsystemresource', schema 'sys'.
  • 请按照链接中提供的步骤操作:stackoverflow.com/questions/2016669/…
  • 我已经调查过了,似乎不推荐使用xp_cmdshell。另外,我正在开发生产数据库,所以我不想对其进行任何更改。你能推荐其他方法吗?
  • 如果您启用xp_cmdshell、@RahulSatal,您实际上将更改服务器,而不是数据库。
  • 现在出现错误 - You do not have permission to run the RECONFIGURE statement. 经过一些研究,我发现要进行更改,我需要成为系统管理员或服务器管理员,但不幸的是我不是。
【解决方案2】:

创建过程选择用户 作为

SELECT * INTO OUTFILE 'C:/S3/users.csv'
FROM [IMBookingApp].[dbo].[usertest]
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';GO;

【讨论】:

  • 感谢您回复 Sumit。但我使用的 SQL Server 不支持OUTFILE。它仅适用于 MYSQL。
  • 你可以参考这个博客,这肯定会解决你的问题。 sqlservercentral.com/blogs/…
【解决方案3】:

您可以参考此博客,这肯定会解决您的问题。 https://www.sqlservercentral.com/blogs/export-a-ssms-query-result-set-to-csv

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    相关资源
    最近更新 更多