Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एमएस एसक्यूएल सर्वर 2008 में संग्रहीत प्रक्रिया के पैरामीटर के रूप में सी # डेटाटेबल पास करना

सबसे पहले आपको एक प्रकार बनाना होगा:

CREATE TYPE dbo.whatever AS TABLE
(
  Supp_Id          int, 
  Del_Methode_Id   int,
  Ord_Amount       int,
  Promo_Id         int,
  Discount_Amount  Money
);

अब आपकी संग्रहित प्रक्रिया इसे केवल पढ़ने के लिए इनपुट पैरामीटर के रूप में घोषित कर सकती है:

CREATE PROCEDURE dbo.do_whatever
  @datatable dbo.whatever READONLY
AS
BEGIN
  SET NOCOUNT ON;

  INSERT dbo.destination_table(column_list)
    SELECT column_list FROM @datatable;
END
GO

आप यहां कर्सर का उपयोग क्यों करना चाहते हैं, या आपको लगता है कि आपको एक की आवश्यकता है, मुझे यकीन नहीं है। आप एक ORDER BY जोड़ सकते हैं INSERT...SELECT . का खंड अगर आपको लगता है कि यह उपयोगी होगा (और ऑर्डर करने के लिए कुछ सार्थक है), लेकिन अन्यथा यदि आप वास्तव में यहां एक कर्सर चाहते हैं तो आपको @datatable के खिलाफ एक घोषित करने में सक्षम होना चाहिए जैसा कि आप किसी अन्य तालिका के लिए करेंगे।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अंकगणित अतिप्रवाह त्रुटि वर्चर को डेटा प्रकार संख्यात्मक में परिवर्तित करना। '10' <=9.00

  2. एक्सएमएल ऑटो के लिए चयन करें और डेटाटाइप लौटाएं

  3. अपने डेटा को क्षैतिज कैसे बनाएं

  4. टी-एसक्यूएल:सभी डुप्लिकेट पंक्तियों को हटाना लेकिन एक रखना

  5. SQL सर्वर 2008 में एक लीप सेकेंड को संग्रहीत करना