如何将 SQL 服务器过程修改为错误的语法

How can I modify a SQL Server procedure to wrong syntax

我正在使用 SQL Server 2012,我想通过在可能出现语法错误的任何地方添加逗号来修改一个已经存在的程序,使其出错。我通过以下步骤在 SQL Server Management Studio (ssms) 中完成此操作:

  1. 在对象资源管理器中找到目标过程。
  2. 右键单击并选择 "modify"
  3. 在查询window中,在参数列表中添加一个逗号。
  4. 执行

然后显示错误信息。然后我关闭查询 window 并从对象资源管理器中重新单击 "modify"。我发现我添加的逗号消失了。程序又好了,因为我什么都没做。

和我熟悉的Oracle不一样。在 Oracle 中,如果我将程序更改为错误,它将是错误的。但是在 SQL 服务器上,数据库似乎会拒绝我的更改。如何在不删除过程并使用已包含附加逗号的脚本重新创建过程的情况下执行此操作?

如果不编译,

Sql 将不会 change/create 存储过程。 您可以使用 RAISERROR 抛出将返回给客户端的运行时错误

RAISERROR ('some error message that can even contain some parameters.', 16, 1);