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
VB Script to delete certain file types from a network location
RHCE Exam
Batch file to remove whitespace - similar to word replace ^w
Secondary Graphics card for PhysX processing with current 9800GTX
Best Photo Editing software
Problems Upgrading to WIN XP SP3
Gridview delete
Controlling Exchange 2010 port usage + some mythbusting
Windows 7 Enterprise vs Ultimate?
extended ACL question