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

मैं एक चर के रूप में पारित एक टैबलेटनाम पर पहचान_इन्सर्ट कैसे सेट कर सकता हूं?

टिप्पणियों में दिए गए ब्रैड के उत्तर का बैकअप लेने के लिए, यहां एक एकल गतिशील क्वेरी में संपूर्ण सम्मिलन अनुक्रम करने का एक MVCE है। क्रिस की टिप्पणी के अनुसार, सुनिश्चित करें कि डेटाबेस का नाम श्वेत सूची में है, क्योंकि क्वेरी SqlInjection के लिए असुरक्षित है (दुर्भाग्य से, डेटाबेस नामों को sp_executesql के माध्यम से डायनेमिक sql में पैरामीटर नहीं किया जा सकता है। )

दिया गया:

CREATE TABLE TableName
(
    ID INT IDENTITY(1,1)
);

एक एकल बैच निष्पादित किया जा सकता है:

DECLARE @strDBName VARCHAR(100) = 'MyDatabase';
Declare @Query Varchar(MAX)
SET @Query = 'SET IDENTITY_INSERT '+ @strDBName +'..TableName ON; '
SET @Query = @Query + 'INSERT INTO '+ @strDBName 
 +'..[TableName](ID) SELECT COALESCE(MAX(ID), 0)+1 FROM '+ @strDBName +'..TableName; '
SET @Query = @Query + 'SET IDENTITY_INSERT '+ @strDBName +'..TableName OFF;'
EXEC(@Query)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. RML यूटिलिटीज टूल के माध्यम से SQLDIAG प्रदर्शन डेटा की रिपोर्ट करना | SQL सर्वर प्रदर्शन समस्या निवारण -7

  2. तार्किक संगति-आधारित I/O त्रुटि का पता चला SQL सर्वर को ठीक करने के तरीके

  3. शून्य या शून्य मानों को अनदेखा करते हुए AVG प्राप्त करें

  4. एसएसएमएस - एसक्यूएल सर्वर / टीएसक्यूएल ट्यूटोरियल पार्ट 22 में ऑब्जेक्ट एक्सप्लोरर डिटेल विंडोज का उपयोग करके कई ऑब्जेक्ट्स को कैसे हैंडल करें

  5. सादे एडीओ का उपयोग कर SQL सर्वर से दृश्य परिभाषा पुनर्प्राप्त करने का कोई तरीका है?