从自己获取函数名称
我有一个函数,并且在这个函数中,我想获取函数的名字。我能怎么做?我有尝试:从自己获取函数名称
CREATE FUNCTION dbo.func_test
--....
-- get name function
IF OBJECT_NAME(@@PROCID) LIKE '%_test%'
SELECT @isTest = 1
ELSE
SELECT @isTest = 0
OBJECT_NAME(@@PROCID)
似乎支持存储过程,无法正常
尝试用这种
DECLARE @isTest INT
IF EXISTS (
SELECT 1 FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'FUNCTION' AND ROUTINE_NAME LIKE '%_test%')
BEGIN
SELECT @isTest = 1
END
ELSE
BEGIN
SELECT @isTest = 0
END
SELECT @isTest
OP正在寻找当前正在执行的函数的名称。你的脚本检查一个函数是否存在某种特定的模式。这不一样。 –
如何在我的_inline函数_中尝试您的代码? –
只需将我的代码添加到您的func_test函数中(替换所有内容即可保留签名以编辑函数)并执行。 –
什么是你gettinng错误,它为我工作..
alter function dbo.uspo_test()
returns int
as
begin
declare @name varchar(20)
set @name=object_name(@@procid)
if (@name) like '%_test'
return 1
return 0
end
select dbo.uspo_test()
--output 1
OP的答案中的链接表明该错误仅适用于内联表值函数。这个信息在这个问题上没有。 –
重复的http://计算器.com/questions/6034488 /当前正在执行的程序名称 – cameront
我试过了,但没有正确 –
所以你试了一下,然后呢?错误?不正确的结果?如果是的话,返回什么名字? –