曾经使用过多个参数的存储过程,但是它停止了工作。
我正在尝试修复曾经起作用的存储过程,但突然创建了一个错误“无效的对象名” Split”。这是别人写的程序,所以我不确定“ Split”是什么。这是某种命令还是什么?
这是曾经可以使用但不再可用的存储过程。
DECLARE @ProductName NVARCHAR(MAX) = '9x95dk36-2727-9401-8948-161740000000,150t3vh6-1230-4449-8846-173120000000'
SELECT
m.[member_id]
, m.external_member_id
, m.last_name
, m.first_name
, m.middle_name
, e.effective_date
,[termination_date]
, REPLACE(bhp.name_full_path,'CW > Medicaid > WI > SSI > ','') AS BHP
, pr.product_name
,pr.product_ID
INTO #ActiveSSIMembers
FROM
[Eligibility] as e
INNER JOIN Product as pr on e.product_id = pr.product_id
INNER JOIN Member as m on e.member_id = m.member_id
INNER JOIN BhpNode as bhp on m.bhp_node_id = bhp.bhp_node_id
WHERE
pr.product_ID IN (SELECT [Data] FROM Split(@ProductName,','))
我们需要对查询使用多个参数。
答案 0 :(得分:0)
从您发布的代码来看,Split
是一个Table-Valued User-Defined函数,它接受NVarchar
参数(由','分隔)并返回列名称下的拆分值行Data
。
您在执行此查询的数据库中缺少该用户定义的函数。要么已删除,要么在另一个数据库中运行查询。
尝试如下导航至表值函数,并确保其中具有名为 Split 的函数(而不是该图中的“ TestFunction”)。如果没有,您可以创建我们的函数以拆分值并将其添加到数据库中。
您可以从this线程获得帮助以创建一个