मैंने प्रक्रिया sp_rename के माध्यम से तालिका का नाम बदल दिया है। क्या मुझे बाल तालिका की एफके बाधा बदलने की ज़रूरत है?वर्ग: नाम बदलें नाम पर बाधा बदलने की जरूरत है?
उत्तर
प्रतिबन्ध और सूचियों को स्वचालित रूप से बदल दिया जाएगा, लेकिन आप मैन्युअल रूप से संग्रहित प्रक्रियाओं, ट्रिगर, उपयोगकर्ता परिभाषित काम करता है, और विचारों का संदर्भ में काम के नाम कैसे बदलूं करने की आवश्यकता होगी टेबल। the documentation on MSDN देखें।
नहीं, तालिका नाम परिवर्तन सिस्टम कैटलॉग में अपरिपक्व मेटाडाटा को भी अपडेट करेगा और इसलिए बाधा अभी भी सही तालिका का संदर्भ देगी।
आप अपनी इच्छा को सत्यापित करने के लिए सभी विदेशी कुंजी की पहचान करने के लिए निम्न स्क्रिप्ट का उपयोग कर सकते हैं।
SELECT PKTABLE_QUALIFIER = CONVERT(SYSNAME,DB_NAME()),
PKTABLE_OWNER = CONVERT(SYSNAME,SCHEMA_NAME(O1.SCHEMA_ID)),
PKTABLE_NAME = CONVERT(SYSNAME,O1.NAME),
PKCOLUMN_NAME = CONVERT(SYSNAME,C1.NAME),
FKTABLE_QUALIFIER = CONVERT(SYSNAME,DB_NAME()),
FKTABLE_OWNER = CONVERT(SYSNAME,SCHEMA_NAME(O2.SCHEMA_ID)),
FKTABLE_NAME = CONVERT(SYSNAME,O2.NAME),
FKCOLUMN_NAME = CONVERT(SYSNAME,C2.NAME),
-- Force the column to be non-nullable (see SQL BU 325751)
--KEY_SEQ = isnull(convert(smallint,k.constraint_column_id), sysconv(smallint,0)),
UPDATE_RULE = CONVERT(SMALLINT,CASE OBJECTPROPERTY(F.OBJECT_ID,'CnstIsUpdateCascade')
WHEN 1 THEN 0
ELSE 1
END),
DELETE_RULE = CONVERT(SMALLINT,CASE OBJECTPROPERTY(F.OBJECT_ID,'CnstIsDeleteCascade')
WHEN 1 THEN 0
ELSE 1
END),
FK_NAME = CONVERT(SYSNAME,OBJECT_NAME(F.OBJECT_ID)),
PK_NAME = CONVERT(SYSNAME,I.NAME),
DEFERRABILITY = CONVERT(SMALLINT,7) -- SQL_NOT_DEFERRABLE
FROM SYS.ALL_OBJECTS O1,
SYS.ALL_OBJECTS O2,
SYS.ALL_COLUMNS C1,
SYS.ALL_COLUMNS C2,
SYS.FOREIGN_KEYS F
INNER JOIN SYS.FOREIGN_KEY_COLUMNS K
ON (K.CONSTRAINT_OBJECT_ID = F.OBJECT_ID)
INNER JOIN SYS.INDEXES I
ON (F.REFERENCED_OBJECT_ID = I.OBJECT_ID
AND F.KEY_INDEX_ID = I.INDEX_ID)
WHERE O1.OBJECT_ID = F.REFERENCED_OBJECT_ID
AND O2.OBJECT_ID = F.PARENT_OBJECT_ID
AND C1.OBJECT_ID = F.REFERENCED_OBJECT_ID
AND C2.OBJECT_ID = F.PARENT_OBJECT_ID
AND C1.COLUMN_ID = K.REFERENCED_COLUMN_ID
AND C2.COLUMN_ID = K.PARENT_COLUMN_ID
यह स्क्रिप्ट से प्राप्त किया गया था: Identify all of your foreign keys in a SQL Server database
यह वास्तव में ओसम सामग्री दोस्त है। धन्यवाद –
आपका स्वागत है, मदद करने में खुशी है। –
[यहां] (http://stackoverflow.com/questions/8094156/know-relationships-between-all-the-tables-of-database-in-sql-server) ** एक और स्क्रिप्ट ** है, आशा किसी की मदद करती है । – stom
- 1. संसाधन नाम बदलने के बिना यूआरएल बदलें
- 2. सी ++ वर्ग नाम बदलने के लिए स्क्रिप्ट
- 3. नाम वर्ग के लिए नाम वर्ग
- 4. गिट विवाद (नाम बदलें/नाम बदलें)
- 5. PostgreSQL: डिफ़ॉल्ट बाधा नाम
- 6. विदेशी कुंजी बाधा नाम
- 7. फ़ाइल नाम का नाम बदलें
- 8. स्क्रीन पर पैरामीटर नाम बदलें?
- 9. clojure नाम बदलने कुंजी
- 10. इकाई वर्ग की तालिका नाम
- 11. एक्सएमएल नोड नाम का नाम कैसे बदलें
- 12. svn नाम बदलने के बजाय प्रत्यक्ष नाम बदलने के लिए
- 13. लिनक्स में फ़ाइल नाम बदलने की तिथि
- 14. ग्रहण नाम बदलें/रीफैक्टरिंग ओवरराइड
- 15. PHP नाम बदलें() त्रुटि
- 16. टाइपस्क्रिप्ट नाम बदलें परिवर्तनीय
- 17. Google का ओपनआईडी पहचानकर्ता "उपभोक्ता" डोमेन नाम के आधार पर अलग है। यदि डोमेन नाम बदलने की जरूरत है तो समस्याओं से कैसे बचें?
- 18. डेटाबेस नाम का नाम बदलें - mysql
- 19. गिट अनदेखा नाम बदलें
- 20. Git नाम बदलने/हटाने भ्रम
- 21. PostgreSQL - डेटाबेस का नाम बदलें
- 22. निर्देशिका का नाम कैसे बदलें?
- 23. तालिका शीर्षलेख का नाम बदलें
- 24. विदेशी कुंजी नाम कैसे बदलें?
- 25. एक वर्ग के नाम
- 26. महीने का नाम बदलें
- 27. वर्ग नाम jquery
- 28. का नाम बदलने धागे जावा
- 29. अपने वर्ग नाम
- 30. रेल संरक्षित वर्ग नाम
मुझे सुबह की अनावश्यक काम बचाने के लिए बड़ा धन्यवाद :-) – EvilDr