Microsoft
Software
Hardware
Network
Question : Setting Primary Key Clustered with foriegn Key cascade - SQL
I havent done any DBA in two years and I am rusteee...
The scenario is - we have added a custom rolesinroles table that consists of RoleId and Parent RoleId - I am trying to do the following, which may be quite simple
Create a Primary clustered key from both of the Ids - is this correct ?
/****** Object: Index [PK__RolesInRoles__1B29035
F] Script Date: 07/19/2010 22:14:18 ******/
ALTER TABLE [dbo].[RolesInRoles] ADD PRIMARY KEY CLUSTERED
(
[RoleId] ASC,
[ParentRoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
I would like both the RoleId and ParentRoleId to reference another table's primary Key "Roles", and do a cascading delete when that "Role" is deleted if the ParentRoleId = Role.RoleId
or if RoleId = Role.RoleId
Any help is greatly appreciated
Also, while I have your ear - if I try to add a duplicate of the clustered key, is there an elegant way to catch it ?
Thanks!
Answer : Setting Primary Key Clustered with foriegn Key cascade - SQL
>> if I try to add a duplicate of the clustered key, is there an elegant way to catch it ?
You could always create INSTEAD OF INSERT/UPDATE triggers and catch the duplicate (non-trivial) and provide a more friendly message or fail silently.
Random Solutions
SAS 9.1 - Excel Import
How do I add rows to a datagridview based upon a For Each statement in VS2008?
Exchange 2007 mail relay
Exchange 2010 resource mailbox for meeting room
imap_mail_move on POP3 mailbox
T SQL Query and Dates
Cisco ASA 8.3 RDP Configuration Syntax
kvm cables for dell poweredge server
Exchange 2010 Antivirus Options
Need to show image above datalist if user selects. the image.