क्या आपने किसी संग्रहीत कार्यविधि में डेटा पास करने के लिए तालिका चर का उपयोग करने के बारे में सोचा है। उदाहरण:
सेटअप
CREATE TYPE EmpIdValuesType AS TABLE
(
[EmpID] [int]NOT NULL
)
CREATE TABLE Employee
(
EmpID INT,
Name varchar(20)
)
INSERT INTO Employee
Values
(1, 'test1'),
(2, 'test2'),
(3, 'test3'),
(4, 'test4'),
(5, 'test5'),
(6, 'test6'),
(7, 'test7');
Create Procedure usp_GetEmployees
(
@TableVariable EmpIdValuesType READONLY
)
AS
SELECT *
FROM Employee
INNER JOIN @TableVAriable TV
ON Employee.EmpId = TV.EmpId
अब आप EmpIdValuesType प्रकार के अस्थायी तालिका चर में पंक्तियाँ सम्मिलित कर सकते हैं और चर को संग्रहीत कार्यविधि में पास कर सकते हैं:
संग्रहीत प्रक्रिया को कॉल करना
DECLARE @empIds AS EmpIdValuesType
INSERT INTO @empIds(EmpID) Values (1), (2), (5)
Exec usp_GetEmployees @empIds;
और यहाँ परिणाम हैं: