Sp_helptext 错误

geo*_*170 3 sql-server

我正在使用 sp_helptext 列出一些存储的过程而不是通过 ui。我对我们选择采用的命名约定有疑问。

我有一个名为 [Test.FooBar] 的存储过程。

Execute sp_helptext [Test.FooBar]
Run Code Online (Sandbox Code Playgroud)

消息 15009,级别 16,状态 1,过程 sp_helptext,第 54 行 对象 'Test.FooBar' 在数据库 'Foo' 中不存在或对于此操作无效。

当我将 exceut 语句更改为完全限定时,我收到一个不同的错误

Execute sp_helptext [Foo].[dbo].[Test.FooBar]
Run Code Online (Sandbox Code Playgroud)
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '.'.
Run Code Online (Sandbox Code Playgroud)

有人可以指出我正确的方向来解决这个问题。非常感谢。

Aar*_*and 11

也许尝试:

EXEC Foo..sp_helptext 'dbo.[Test.FooBar]';
Run Code Online (Sandbox Code Playgroud)

仍然对 sp_helptext 有问题?好的,停止使用它 - 这不是获取对象定义的唯一方法。

SELECT OBJECT_DEFINITION(OBJECT_ID('dbo.[Test.FooBar]'));
Run Code Online (Sandbox Code Playgroud)

接下来,请停止放置。和对象名称中的其他特殊字符。

  • 我认为第二个建议更重要...... (4认同)