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
SBS2008 Folder redirections feature stability ?
Internet Explorer Nonfunctional After IE8 Upgrade
Sharing camcorder footage
Google Adword
some emails arrive on blackberry but not in outlook
Remove Proxy settings from IE using Group policy
Printer Migration from Windows 2003 to Windows 2008 R2
I want three selects, but only require one select to have input
google.class file detected by Norton as High risk - Is it high risk ?
How to get rid of annoying outlook logon windows