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

TSQL - डेटाबेस में सभी तालिकाओं में कॉलम जोड़ें [कर्सर उदाहरण]

परिदृश्य:

कभी-कभी हमें आवश्यकता होती है कि डेटाबेस में सभी तालिकाओं में कॉलम जोड़ें। आज हमें सभी तालिकाओं में CreatedOn कॉलम जोड़ना होगा यदि यह पहले से तालिका में मौजूद नहीं है।

समाधान:

हम इस ऑपरेशन को करने के लिए कर्सर का उपयोग करेंगे।
कृपया इन चरों के लिए कॉलम नाम और डेटा प्रकार प्रदान करें। नीचे दिए गए उदाहरण में मैं डेटटाइम डेटा प्रकार के साथ क्रिएटऑन कॉलम जोड़ रहा हूं।

SET @COLUMN_NAME='ColumnNameYouWantToAdd'
SET @COLUMN_DATATYPE='DataTypeOfColumn'

------------------------------------------ --कोड ------------------------------------------- ----
USE TESTDB
GO
--Declare Variables
DECLARE @TableName VARCHAR(100)
DECLARE @TableSchema VARCHAR(100)
DECLARE @COLUMN_NAME VARCHAR(50)
SET @COLUMN_NAME='CreatedOn' -- Change Column Name according to your requirement
DECLARE @COLUMN_DATATYPE VARCHAR(50)
SET @COLUMN_DATATYPE='DateTime' -- Provide data type for column

--Declare Cursor
DECLARE CUR CURSOR FOR
  SELECT TABLE_SCHEMA,
         TABLE_NAME
  FROM   INFORMATION_SCHEMA.TABLES
  WHERE  TABLE_TYPE = 'BASE TABLE'
--OPEN CURSOR
OPEN CUR
--Fetch First Row
FETCH NEXT FROM CUR INTO @TableSchema,@TableName
--Loop
में अगला फ़ेच करें
WHILE @@FETCH_STATUS = 0
  BEGIN

  DECLARE @SQL NVARCHAR(MAX)
  SET @SQL=NULL
  IF NOT EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS 
       WHERE TABLE_NAME=@TableName AND COLUMN_NAME=@COLUMN_NAME 
and Table_Schema=@TableSchema)
  BEGIN
  SET @SQL='ALTER TABLE '+@TableSchema+'.'+@TableName +' ADD '+@COLUMN_NAME
                         + ' '+@COLUMN_DATATYPE
    PRINT @SQL
    EXEC ( @SQL)
  END
   
  IF EXISTS ( SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS 
       WHERE TABLE_NAME=@TableName AND COLUMN_NAME=@COLUMN_NAME 
and Table_Schema=@TableSchema)
  BEGIN
  PRINT 'Column Already exists in Table'
  END
      FETCH NEXT FROM CUR INTO @TableSchema,@TableName
  END
--Close and Deallocate Cursor
CLOSE CUR
DEALLOCATE CUR
 
 
 
Video Demo: How to Add Column to all the Tables in SQL Server Database (Cursor Example)
 
 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SSIS में मर्ज जॉइन और लुकअप ट्रांसफॉर्मेशन में क्या अंतर हैं?

  2. दो बिंदुओं के बीच की दूरी की गणना (अक्षांश, देशांतर)

  3. परिणामों को विभाजित करने के लिए SQL में दशमलव मान

  4. SQL सर्वर में PARSE() बनाम TRY_PARSE():क्या अंतर है?

  5. T-SQL का उपयोग करके SQL सर्वर में सभी डेटाबेस को सूचीबद्ध करने का सबसे तेज़ तरीका