Я хочу принести ОДИН иностранный ключ из нескольких в таблице. в интерфейсе GUI в sql-сервере, если мы расширим параметры таблицы, мы увидим папку под названием «Ключи», в этой папке есть один первичный ключ и несколько иностранных. В моем примере у меня есть три таблицы, Клиент, Заказы и Элементы. Клиент имеет идентификатор Customer_ID как первичный, Элементы имеют Item_ID как первичный, а Orders имеет Order_ID как первичный, внешний ключ Customer_nbr ссылается на клиент (Customer_ID) и внешний ключ item_nbr ссылки Items (Item_ID).Как найти определенный внешний ключ таблицы через T-SQL?
так в этой папке «Ключи» Есть имена для этих ключей, как: «FK_ Заказов _Customer__38996AB5»
проблемы в том, что число «38996AB5», который следует за словом клиента не является фиксированным, если вы удалите ограничения, затем восстановите их, они будут изменены (по соображениям безопасности или около того).
поэтому я ищу команду SQL, которую можно ввести, чтобы получить этот ключ независимо от того, что это было. логически я мог бы использовать ключевое слово «LIKE» (то есть ... like = 'FK_ Заказы _Customer __%'), но я не мог знать, как и где его можно поместить.
благодарит заранее.
Это основная причина, по которой я рекомендую вам ** всегда явно * давать значимые имена вашим ограничениям внешнего ключа при их создании! –
Я согласен с Марком. Явные имена следует указывать при создании по этой точной причине ................ Это разница между dba-101 и dba-301, IMHO. У нас есть стандарт компании, что все objectnames должны быть явными ... ни одно из имен auto-voodoo microsoft. – granadaCoder