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

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

तालिका को स्वीकार करने के लिए आप संग्रहीत कार्यविधि को बदल सकते हैं मूल्यवान पैरामीटर एक इनपुट के रूप में। सबसे पहले, आपको एक उपयोगकर्ता परिभाषित तालिका TYPE बनाने की आवश्यकता होगी जो C# DataTable की संरचना से मेल खाती हो:

CREATE TYPE dbo.PersonType AS TABLE
(
    Name NVARCHAR(50), -- match the length of SomeTable.Column1
    Age INT
);

अपना एसपीआरओसी समायोजित करें:

CREATE PROCEDURE dbo.InsertPerson
    @Person dbo.PersonType READONLY
AS
BEGIN
  INSERT INTO SomeTable(Column1, Column2) 
     SELECT p.Name, p.Age
     FROM @Person p;
END

C# में, जब आप डेटाटेबल को PROC पैरामीटर से बाँधते हैं, तो आपको पैरामीटर को इस प्रकार निर्दिष्ट करना होगा:

parameter.SqlDbType = SqlDbType.Structured;
parameter.TypeName = "dbo.PersonType";

यहां उदाहरण भी देखें टेबल पासिंग-वैल्यूड संग्रहित प्रक्रिया के लिए पैरामीटर



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर 2008:मेरे पास 1000 टेबल हैं, मुझे यह जानने की जरूरत है कि किस टेबल में डेटा है

  2. SQL सर्वर 2008 से XML फ़ाइल बनाना

  3. क्वेरी ट्यूनिंग के साथ SQL गतिरोध से बचना:ब्रेंट ओज़ार की सलाह

  4. टॉमकैट, जावा और SQL सर्वर 2008 R2:कनेक्ट URL 'null' के लिए 'वर्ग' का JDBC ड्राइवर नहीं बना सकता

  5. SQL सर्वर (T-SQL) में उन्नत सर्वर कॉन्फ़िगरेशन विकल्प दिखाएँ