如何将 sp_helptext 与不带引号的模式一起使用(用于查询快捷方式)
How to use sp_helptext with schema without quotes (for query shortcuts)
我所有的程序、视图都在模式 xx
中。我知道在这种情况下我必须使用引号,当我 运行
exec sp_helptext 'xx.my_procedure'
它工作正常。
不过,我很乐意为 sp_helptext 使用查询快捷方式(我使用的是 SSMS 16)。
当我 select 文本和 运行 快捷方式时,我得到:
Incorrect syntaxt near '.'
这显然是由于 selected 文本中缺少引号。
有没有办法解决这个问题?
可能是可以通过简单的快捷方式临时添加引号的东西?或者也许其他一些程序可以嵌套 sp_helptext
并修复输入?
也许还有其他方法可以实现您的目标,
但是我的如下:-
创建一个程序,在覆盖后执行 SP_HELPTEXT
。
假设架构名称是 XX
Create procedure usp_helptext (@myObject varchar(255))
as
begin
declare @Query nvarchar(1000)
set @Query = 'exec sp_helptext ''XX.' + @myObject + ''''
print @Query
exec (@Query)
end
然后执行创建的程序如下:-
exec usp_helptext proc_name.
最终使用 usp_helptext 的快捷方式而不是 sp_helptext
。
我所有的程序、视图都在模式 xx
中。我知道在这种情况下我必须使用引号,当我 运行
exec sp_helptext 'xx.my_procedure'
它工作正常。
不过,我很乐意为 sp_helptext 使用查询快捷方式(我使用的是 SSMS 16)。
当我 select 文本和 运行 快捷方式时,我得到:
Incorrect syntaxt near '.'
这显然是由于 selected 文本中缺少引号。
有没有办法解决这个问题?
可能是可以通过简单的快捷方式临时添加引号的东西?或者也许其他一些程序可以嵌套 sp_helptext
并修复输入?
也许还有其他方法可以实现您的目标,
但是我的如下:-
创建一个程序,在覆盖后执行 SP_HELPTEXT
。
假设架构名称是 XX
Create procedure usp_helptext (@myObject varchar(255))
as
begin
declare @Query nvarchar(1000)
set @Query = 'exec sp_helptext ''XX.' + @myObject + ''''
print @Query
exec (@Query)
end
然后执行创建的程序如下:-
exec usp_helptext proc_name.
最终使用 usp_helptext 的快捷方式而不是 sp_helptext
。