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

SQL सर्वर में लिंक किए गए सर्वर से प्राथमिक कुंजी लौटाएं (T-SQL उदाहरण)

SQL सर्वर में आप sp_primarykeys . का उपयोग कर सकते हैं एक निर्दिष्ट लिंक किए गए सर्वर से प्राथमिक कुंजी कॉलम वापस करने के लिए सिस्टम संग्रहीत प्रक्रिया। यह निर्दिष्ट दूरस्थ तालिका के लिए प्रति कुंजी कॉलम में एक पंक्ति देता है।

इस संग्रहीत कार्यविधि को निष्पादित करने का सबसे सरल तरीका लिंक किए गए सर्वर का नाम पास करना है। ऐसा करने से निर्दिष्ट लिंक किए गए सर्वर पर डिफ़ॉल्ट डेटाबेस से सभी प्राथमिक कुंजियाँ वापस आ जाएँगी।

आपके पास एक भिन्न डेटाबेस और/या एक विशिष्ट तालिका स्कीमा निर्दिष्ट करने का विकल्प भी है।

सिंटैक्स

वाक्य रचना इस प्रकार है:

sp_primarykeys [ @table_server = ] 'table_server'   
     [ , [ @table_name = ] 'table_name' ]   
     [ , [ @table_schema = ] 'table_schema' ]   
     [ , [ @table_catalog = ] 'table_catalog' ]

@table_server तर्क ही आवश्यक तर्क है। यह लिंक किए गए सर्वर का नाम है जिससे आप प्राथमिक कुंजी की जानकारी चाहते हैं।

अन्य तर्क वैकल्पिक हैं।

उदाहरण 1 - डिफ़ॉल्ट डेटाबेस में सभी प्राथमिक कुंजी लौटाएं

निम्न उदाहरण होमर नामक लिंक किए गए सर्वर पर डिफ़ॉल्ट डेटाबेस से सभी प्राथमिक कुंजी लौटाता है।

EXEC sp_primarykeys @table_server = 'Homer';

इसे इस तरह भी चलाया जा सकता है:

EXEC sp_primarykeys 'Homer';

परिणाम:

+-------------+---------------+--------------+---------------+-----------+-----------+
| TABLE_CAT   | TABLE_SCHEM   | TABLE_NAME   | COLUMN_NAME   | KEY_SEQ   | PK_NAME   |
|-------------+---------------+--------------+---------------+-----------+-----------|
| Music       | dbo           | Albums       | AlbumId       | 1         | NULL      |
| Music       | dbo           | Artists      | ArtistId      | 1         | NULL      |
| Music       | dbo           | Country      | CountryId     | 1         | NULL      |
| Music       | dbo           | Genres       | GenreId       | 1         | NULL      |
+-------------+---------------+--------------+---------------+-----------+-----------+

इस मामले में चार प्राथमिक कुंजी स्तंभ हैं (वे COLUMN_NAME . के अंतर्गत सूचीबद्ध हैं ) आप देखेंगे कि PK_NAME कॉलम NULL है . यह कॉलम प्राथमिक कुंजी पहचानकर्ता के लिए है। Microsoft कहता है कि यह डेटा स्रोत पर लागू नहीं होने पर NULL लौटाता है।

KEY_SEQ कॉलम एक बहु-स्तंभ प्राथमिक कुंजी में कॉलम की अनुक्रम संख्या है। इस मामले में कोई बहु-स्तंभ प्राथमिक कुंजियाँ नहीं थीं, इसलिए मान 1 है प्रत्येक प्राथमिक कुंजी के लिए। अगला उदाहरण बहु-स्तंभ प्राथमिक कुंजियों के साथ कुछ परिणाम देता है।

उदाहरण 2 - एक अलग डेटाबेस निर्दिष्ट करें

निम्न उदाहरण निर्दिष्ट करता है कि WideWorldImportersDW डेटाबेस का उपयोग किया जाना चाहिए।

EXEC sp_primarykeys 
  @table_server = 'Homer',   
  @table_catalog = 'WideWorldImportersDW';

परिणाम:

+----------------------+---------------+-------------------------+------------------------------+-----------+-----------+
| TABLE_CAT            | TABLE_SCHEM   | TABLE_NAME              | COLUMN_NAME                  | KEY_SEQ   | PK_NAME   |
|----------------------+---------------+-------------------------+------------------------------+-----------+-----------|
| WideWorldImportersDW | Dimension     | City                    | City Key                     | 1         | NULL      |
| WideWorldImportersDW | Dimension     | Customer                | Customer Key                 | 1         | NULL      |
| WideWorldImportersDW | Dimension     | Date                    | Date                         | 1         | NULL      |
| WideWorldImportersDW | Dimension     | Employee                | Employee Key                 | 1         | NULL      |
| WideWorldImportersDW | Dimension     | Payment Method          | Payment Method Key           | 1         | NULL      |
| WideWorldImportersDW | Dimension     | Stock Item              | Stock Item Key               | 1         | NULL      |
| WideWorldImportersDW | Dimension     | Supplier                | Supplier Key                 | 1         | NULL      |
| WideWorldImportersDW | Dimension     | Transaction Type        | Transaction Type Key         | 1         | NULL      |
| WideWorldImportersDW | Fact          | Movement                | Movement Key                 | 1         | NULL      |
| WideWorldImportersDW | Fact          | Movement                | Date Key                     | 2         | NULL      |
| WideWorldImportersDW | Fact          | Order                   | Order Key                    | 1         | NULL      |
| WideWorldImportersDW | Fact          | Order                   | Order Date Key               | 2         | NULL      |
| WideWorldImportersDW | Fact          | Purchase                | Purchase Key                 | 1         | NULL      |
| WideWorldImportersDW | Fact          | Purchase                | Date Key                     | 2         | NULL      |
| WideWorldImportersDW | Fact          | Sale                    | Sale Key                     | 1         | NULL      |
| WideWorldImportersDW | Fact          | Sale                    | Invoice Date Key             | 2         | NULL      |
| WideWorldImportersDW | Fact          | Stock Holding           | Stock Holding Key            | 1         | NULL      |
| WideWorldImportersDW | Fact          | Transaction             | Transaction Key              | 1         | NULL      |
| WideWorldImportersDW | Fact          | Transaction             | Date Key                     | 2         | NULL      |
| WideWorldImportersDW | Integration   | City_Staging            | City Staging Key             | 1         | NULL      |
| WideWorldImportersDW | Integration   | Customer_Staging        | Customer Staging Key         | 1         | NULL      |
| WideWorldImportersDW | Integration   | Employee_Staging        | Employee Staging Key         | 1         | NULL      |
| WideWorldImportersDW | Integration   | ETL Cutoff              | Table Name                   | 1         | NULL      |
| WideWorldImportersDW | Integration   | Lineage                 | Lineage Key                  | 1         | NULL      |
| WideWorldImportersDW | Integration   | Movement_Staging        | Movement Staging Key         | 1         | NULL      |
| WideWorldImportersDW | Integration   | Order_Staging           | Order Staging Key            | 1         | NULL      |
| WideWorldImportersDW | Integration   | PaymentMethod_Staging   | Payment Method Staging Key   | 1         | NULL      |
| WideWorldImportersDW | Integration   | Purchase_Staging        | Purchase Staging Key         | 1         | NULL      |
| WideWorldImportersDW | Integration   | Sale_Staging            | Sale Staging Key             | 1         | NULL      |
| WideWorldImportersDW | Integration   | StockHolding_Staging    | Stock Holding Staging Key    | 1         | NULL      |
| WideWorldImportersDW | Integration   | StockItem_Staging       | Stock Item Staging Key       | 1         | NULL      |
| WideWorldImportersDW | Integration   | Supplier_Staging        | Supplier Staging Key         | 1         | NULL      |
| WideWorldImportersDW | Integration   | Transaction_Staging     | Transaction Staging Key      | 1         | NULL      |
| WideWorldImportersDW | Integration   | TransactionType_Staging | Transaction Type Staging Key | 1         | NULL      |
+----------------------+---------------+-------------------------+------------------------------+-----------+-----------+

उदाहरण 3 - एक टेबल स्कीमा निर्दिष्ट करें

निम्न उदाहरण परिणामों को एक विशिष्ट तालिका स्कीमा तक सीमित करता है।

EXEC sp_primarykeys 
  @table_server = 'Homer',
  @table_schema = 'Fact',
  @table_catalog = 'WideWorldImportersDW';

परिणाम:

+----------------------+---------------+---------------+-------------------+-----------+-----------+
| TABLE_CAT            | TABLE_SCHEM   | TABLE_NAME    | COLUMN_NAME       | KEY_SEQ   | PK_NAME   |
|----------------------+---------------+---------------+-------------------+-----------+-----------|
| WideWorldImportersDW | Fact          | Movement      | Movement Key      | 1         | NULL      |
| WideWorldImportersDW | Fact          | Movement      | Date Key          | 2         | NULL      |
| WideWorldImportersDW | Fact          | Order         | Order Key         | 1         | NULL      |
| WideWorldImportersDW | Fact          | Order         | Order Date Key    | 2         | NULL      |
| WideWorldImportersDW | Fact          | Purchase      | Purchase Key      | 1         | NULL      |
| WideWorldImportersDW | Fact          | Purchase      | Date Key          | 2         | NULL      |
| WideWorldImportersDW | Fact          | Sale          | Sale Key          | 1         | NULL      |
| WideWorldImportersDW | Fact          | Sale          | Invoice Date Key  | 2         | NULL      |
| WideWorldImportersDW | Fact          | Stock Holding | Stock Holding Key | 1         | NULL      |
| WideWorldImportersDW | Fact          | Transaction   | Transaction Key   | 1         | NULL      |
| WideWorldImportersDW | Fact          | Transaction   | Date Key          | 2         | NULL      |
+----------------------+---------------+---------------+-------------------+-----------+-----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जब कोई 'आदेश' निर्दिष्ट नहीं किया जाता है, तो आपके रिकॉर्ड सेट के लिए एक क्वेरी किस क्रम को चुनती है?

  2. SQL सर्वर 2017:SSIS के साथ Linux से Windows में SQL सर्वर डेटा की प्रतिलिपि बनाना

  3. SQL सर्वर तालिका में मैन्युअल रूप से पहचान कॉलम में मान कैसे सम्मिलित करें - SQL सर्वर / T-SQL ट्यूटोरियल भाग 41

  4. WHERE क्लॉज में शर्त के साथ LEFT JOIN क्यों और कब ON में समान LEFT JOIN के बराबर नहीं है?

  5. SYSDATETIME () SQL सर्वर में उदाहरण (T-SQL)