में किसी अन्य संग्रहीत प्रक्रिया में संग्रहीत प्रक्रिया निष्पादित करें SQL सर्वर में किसी अन्य संग्रहीत प्रक्रिया में संग्रहीत प्रक्रिया को मैं कैसे निष्पादित कर सकता हूं? मैं दूसरी प्रक्रिया के पैरामीटर कैसे पास करूंगा।SQL सर्वर
उत्तर
आप एक संग्रहीत प्रक्रिया के उपयोगकर्ता-निर्धारित कार्य कॉल कर सकते हैं बारी-बारी से
इससे आपकी समस्या का समाधान हो सकता है संग्रहीत प्रक्रिया कॉल करने के लिए
हाँ, आपको लगता है कि इस तरह से कर सकते हैं:
BEGIN
DECLARE @Results TABLE (Tid INT PRIMARY KEY);
INSERT @Results
EXEC Procedure2 [parameters];
SET @total 1;
END
SELECT @total
हैं आप केवल अपने दूसरे एसपी द्वारा कुछ विशिष्ट संचालन करना चाहते हैं और एसपी से मूल्यों की आवश्यकता नहीं है तो बस करें:
Exec secondSPName @anyparams
अन्यथा, यदि आपको अपने पहले एसपी द्वारा अपने पहले एसपी द्वारा लौटाए गए मानों की आवश्यकता है, तो बराबर संख्या के कॉलम के साथ एक अस्थायी तालिका चर बनाएँ और दूसरी एसपी द्वारा कॉलम रिटर्न की एक ही परिभाषा के साथ।
Insert into @tep_table
Exec secondSPName @anyparams
अपडेट::
Declare @id ID_Column_datatype
Set @id=(Select id from table_1 Where yourconditions)
Exec secondSPName @id
अद्यतन 2:
दूसरा एसपी को पैरामीटर पारित करने के लिए, यह करने के बाद आप के रूप में में पहले सपा इन मूल्यों को प्राप्त कर सकते हैं
मान लें कि आपका दूसरा एसपी Id
और Name
देता है जहां का प्रकार id
int
और name
varchar(64)
प्रकार का है।
अब, अगर आप पहले एसपी में इन मूल्यों का चयन करना चाहते तो एक अस्थायी table
चर और डालने मूल्यों में बनाएँ:
Declare @tep_table table
(
Id int,
Name varchar(64)
)
Insert into @tep_table
Exec secondSP
Select * From @tep_table
यह आपको मूल्यों से दूसरे सपा लौटे वापस आ जाएगी।
आशा है, यह आपके सभी संदेहों को स्पष्ट करता है।
tanx .. या मैं पहले स्प के अंदर दूसरे स्पैम द्वारा लौटाए गए मानों की आवश्यकता है। बीटी पैरामीटर जिसे मुझे पास करने की आवश्यकता है, पहली प्रक्रिया का आउटपुट है। क्या यह संभव है।? Pls इस उदाहरण को देखते हैं। SP1 तालिका_1 से आईडी का चयन करें। क्या यह आईडी दूसरी प्रक्रिया के पैरामीटर के रूप में पास करना संभव है। – Roys
हां यह सकारात्मक है लेकिन सबसे पहले आपको इस आईडी को एक चर में स्टोर करने की आवश्यकता है और फिर इसे दूसरे स्पैम में पास करना होगा। अद्यतन उत्तर देखें। –
उपरोक्त चरणों work.tanx। मैं पहले एसपी से आउटपुट वैल्यू कैसे प्राप्त कर सकता हूं ..? – Roys
मान लीजिए आप इस
पहले संग्रहीत प्रक्रिया की तरह एक संग्रहीत प्रक्रिया है:
Create PROCEDURE LoginId
@UserName nvarchar(200),
@Password nvarchar(200)
AS
BEGIN
DECLARE @loginID int
SELECT @loginID = LoginId
FROM UserLogin
WHERE UserName = @UserName AND Password = @Password
return @loginID
END
अब आप नीचे के रूप में
दूसरा संग्रहीत प्रक्रिया
की तरह एक और संग्रहीत प्रक्रिया से इस प्रक्रिया कॉल करना चाहते हैंCreate PROCEDURE Emprecord
@UserName nvarchar(200),
@Password nvarchar(200),
@Email nvarchar(200),
@IsAdmin bit,
@EmpName nvarchar(200),
@EmpLastName nvarchar(200),
@EmpAddress nvarchar(200),
@EmpContactNo nvarchar(150),
@EmpCompanyName nvarchar(200)
AS
BEGIN
INSERT INTO UserLogin VALUES(@UserName,@Password,@Email,@IsAdmin)
DECLARE @EmpLoginid int
**exec @EmpLoginid= LoginId @UserName,@Password**
INSERT INTO tblEmployee VALUES(@EmpName,@EmpLastName,@EmpAddress,@EmpContactNo,@EmpCompanyName,@EmpLoginid)
END
जैसा कि आपने ऊपर देखा है, हम कैल कर सकते हैं एल एक-दूसरे
से संग्रहीत प्रक्रिया आपका sp_test: वापसी
USE [MY_DB]
GO
IF (OBJECT_ID('[dbo].[sp_test]', 'P') IS NOT NULL)
DROP PROCEDURE [dbo].sp_test;
GO
CREATE PROCEDURE [dbo].sp_test
@name VARCHAR(20),
@last_name VARCHAR(30),
@full_name VARCHAR(50) OUTPUT
AS
SET @full_name = @name + @last_name;
GO
पूरा नाम अपने sp_main में
...
DECLARE @my_name VARCHAR(20);
DECLARE @my_last_name VARCHAR(30);
DECLARE @my_full_name VARCHAR(50);
...
EXEC sp_test @my_name, @my_last_name, @my_full_name OUTPUT;
...
हाँ, जिस तरह से हम दुकान के अंदर समारोह कॉल करने के लिए इसका आसान प्रक्रिया।
उदा। उपयोगकर्ता को आयु फ़ंक्शन को परिभाषित करें और चयन क्वेरी में उपयोग करें।
select dbo.GetRegAge(R.DateOfBirth, r.RegistrationDate) as Age,R.DateOfBirth,r.RegistrationDate from T_Registration R
- 1. SQL सर्वर
- 2. SQL सर्वर
- 3. SQL सर्वर
- 4. SQL सर्वर
- 5. SQL सर्वर
- 6. SQL सर्वर
- 7. SQL सर्वर
- 8. SQL सर्वर
- 9. SQL सर्वर
- 10. SQL सर्वर
- 11. SQL सर्वर
- 12. SQL सर्वर
- 13. SQL सर्वर
- 14. SQL सर्वर
- 15. SQL सर्वर
- 16. SQL सर्वर
- 17. SQL सर्वर
- 18. SQL सर्वर
- 19. SQL सर्वर
- 20. SQL सर्वर
- 21. SQL सर्वर
- 22. SQL सर्वर
- 23. SQL सर्वर
- 24. SQL सर्वर
- 25. SQL सर्वर
- 26. SQL सर्वर
- 27. SQL सर्वर
- 28. SQL सर्वर
- 29. SQL सर्वर
- 30. SQL सर्वर
क्या आप इसे सी # में या सर्वर पर स्टोर्डप्रोक के रूप में करने की योजना बना रहे हैं? – MethodMan
'exec' कीवर्ड का उपयोग करें। – Matthew
मुझे सर्वर में निष्पादित करने की आवश्यकता है – Roys