我正在尝试编写sp,它将获得不同数量的参数,但每次某些参数都有值而其他参数都为null。
这个sp被编写为在db中搜索并根据变量的参数数返回结果(参数的变化意味着要考虑的字段的变化)。
答案 0 :(得分:0)
这是我过去在参数是动态的过程中我在C#中创建了一个xml并在proc中传递了xml。在proc中,我读取了xml,然后根据XML值编写查询。请注意,您必须更新稍后添加的每个新参数的proc,以使您的查询正常工作
DECLARE @FileXML XML = '<?xml version="1.0"?>
<Parameters>
<Parameter name ="para1" value="1"/>
<Parameter name ="para2" value="4"/>
</Parameters>';
--CREATE PROCEDURE dbo.ParseDynamicXML
-- @XML XML
--AS
BEGIN
SELECT
Parameters.value('@name','NVARCHAR(100)') AS name,
Parameters.value('@value','NVARCHAR(100)') AS value
FROM @FileXML.nodes('Parameters/Parameter')Catalog(Parameters)
RETURN;
END;