Delphi中TADOStoredProc.ProcedureName值中的"*; 1"是什么?

Dmi*_*try 9 sql sql-server delphi ado

您可以在Delphi中使用以下值指定TADOStoredProc.ProcedureName:

MSSQLProcedureName;1
Run Code Online (Sandbox Code Playgroud)

但是这个值中的"1"是什么?

谢谢您的帮助!

Mic*_*son 11

这是一个可选值,可用于为同一存储过程名称指定多个定义...我认为最初的意图是允许版本控制,但我从未见过它在野外使用过这种方式.

如果未在create procedure语句中指定数字,则默认为1.调用SQL Server的一些各种数据访问层将;1在执行存储过程时显式添加.

来自MSDN:

;*number*

是一个可选的整数,用于对同名的过程进行分组,以便可以将它们与单个DROP PROCEDURE语句一起删除.例如,与名为orders的应用程序一起使用的过程可以命名为orderproc; 1,orderproc; 2,依此类推.语句DROP PROCEDURE orderproc删除整个组.如果名称包含分隔标识符,则该号码不应作为标识符的一部分包含在内; 仅在procedure_name周围使用适当的分隔符.