"getDate" 可以作为 SQL 服务器存储过程名称吗?
Is "getDate" OK as a SQL Server stored procedure name?
我正在审查数十个 SQL Server 2017 存储过程查询执行计划。我刚刚注意到其中一个存储过程名为 "getDate"。程序 "seems" 起作用,并且根据 this "getDate" 不是保留关键字,但我对与 GETDATE() 函数的潜在混淆感到困扰。我现在没有太多时间来梳理所有可能受影响的代码模块编辑对该存储过程的调用。这是我现在可以忽略并稍后修复的问题,还是它可能会导致问题,以至于我应该立即修复它?除了(可能不相关的)超慢 运行 查询之外,我没有看到任何问题——这就是我审查执行计划的原因。
不过,此 "getDate" 存储过程的估计执行计划看起来还不错。
不建议存储过程同名。如果您考虑时间长 运行 并且您有足够的时间和特权,那么使用 SP_RENAME proc.
更改名称会造成很多混乱
但同时不会报错。因为GETDATE
函数是SQL服务器中的一个数据库对象,只支持SELECT
或者读取数据。我们可以创建一个与数据库对象同名的存储过程。所以我们能够对用户定义的数据库对象执行 DDL 操作。
我正在审查数十个 SQL Server 2017 存储过程查询执行计划。我刚刚注意到其中一个存储过程名为 "getDate"。程序 "seems" 起作用,并且根据 this "getDate" 不是保留关键字,但我对与 GETDATE() 函数的潜在混淆感到困扰。我现在没有太多时间来梳理所有可能受影响的代码模块编辑对该存储过程的调用。这是我现在可以忽略并稍后修复的问题,还是它可能会导致问题,以至于我应该立即修复它?除了(可能不相关的)超慢 运行 查询之外,我没有看到任何问题——这就是我审查执行计划的原因。 不过,此 "getDate" 存储过程的估计执行计划看起来还不错。
不建议存储过程同名。如果您考虑时间长 运行 并且您有足够的时间和特权,那么使用 SP_RENAME proc.
更改名称会造成很多混乱但同时不会报错。因为GETDATE
函数是SQL服务器中的一个数据库对象,只支持SELECT
或者读取数据。我们可以创建一个与数据库对象同名的存储过程。所以我们能够对用户定义的数据库对象执行 DDL 操作。