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

अपने प्राथमिक क्षेत्र के रूप में ऑटो वेतन वृद्धि के साथ जोड़ने के लिए संग्रहीत कार्यविधि बनाएं?

आदर्श रूप से आप तालिका परिभाषा को बदलकर टैगआईडी को पहचान फ़ील्ड बना देंगे। अगर आप ऐसा नहीं कर सकते हैं, तो अगला सबसे अच्छा होगा:

CREATE PROCEDURE [dbo].[InsertTagProcdure]
       @Value nvarchar(200), 
       @TagCount nvarchar(200) 
AS
BEGIN
    BEGIN TRANSACTION
        DECLARE @TagID int;
        SELECT @TagID = coalesce((select max(TagID) + 1 from Tag), 1)
    COMMIT      
    INSERT INTO 
        Tag 
        (TagID,Value,TagCount) 
        VALUES 
        (@TagID,@Value,@TagCount)
END

लेन-देन सुनिश्चित करता है कि आप अद्वितीय टैगआईडी के साथ समाप्त नहीं होते हैं और कोलेस विशेष मामले को संभालता है जहां तालिका खाली होती है और 1 का प्रारंभिक मान देता है।

संपादित करें:

आपके मूल प्रश्न में परिवर्तन के आधार पर, तालिका में पहले से ही एक पहचान कॉलम है, इसलिए आपकी संग्रहीत प्रक्रिया होनी चाहिए:

CREATE PROCEDURE [dbo].[InsertTagProcdure]
       @Value nvarchar(200), 
       @TagCount nvarchar(200) 
AS
BEGIN
    INSERT INTO Tag (Value,TagCount) VALUES (@Value,@TagCount)
END

और आपका C# कोड होना चाहिए

int TagID =int.Parse(txtTagID.Text); // यह दूर गिर जाना चाहिए तो ऑटो वृद्धि। स्ट्रिंग मान =txtValue.Text; int टैगकाउंट =int.Parse (txtCount.Text);

        using (var conn = new SqlConnection(Properties.Settings.Default.DBConnectionString))
        using (var cmd = conn.CreateCommand())
        {
                conn.Open();
                cmd.CommandText = "InsertTagProcdure";
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@Value", Value);
                cmd.Parameters.AddWithValue("@TagCount", TagCount);
                cmd.ExecuteNonQuery();
            }


  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 सर्वर R2 SSRS पर रिपोर्टिंग सेवा अनुमतियाँ

  2. क्या मैं प्राथमिक कुंजी के लिए अनदेखा_dup_key चालू कर सकता हूं?

  3. SQL सर्वर में डुप्लिकेट पंक्तियों की जाँच करने के 4 तरीके

  4. टी-एसक्यूएल:नई एक्सेल फाइल में निर्यात करें

  5. एसक्यूएल सर्वर में सेलेक्ट स्टेटमेंट में व्हेयर क्लॉज का उपयोग कैसे करें - एसक्यूएल सर्वर / टीएसक्यूएल ट्यूटोरियल पार्ट 109