是什么导致将对象名称传递给系统存储过程合法sp_helptext
呢?
什么机制将对象名称转换为字符串?
例如
-- works
sp_helptext myproc
sp_helptext [myproc]
sp_helptext [dbo.myproc]
-- and behaves the same as a string
sp_helptext 'myproc'
sp_helptext 'dbo.myproc'
-- does not work
sp_helptext dbo.myproc -- Msg 102, Level 15, State 1, Line 1 incorrect syntax near '.'
-- an additional case that does not work.
sp_helptext [dbo].[myproc] -- Msg 102, Level 15, State 1, Line 1 incorrect syntax
似乎我不需要单引号有效的proc名称似乎很奇怪,除非它具有.
分开的模式名称和过程名称。我正在寻找一种解释,说明如何将其自动从带引号的名称转换为要作为参数值传递的字符串文字。
我没有要解决的特定问题;我只是对那些没有记录的东西感到好奇。