වෙනත් පිළිතුරු වල ඇති කරුණු වලට අමතරව, දෙක අතර ප්රධාන වෙනස්කම් කිහිපයක් මෙන්න.
සටහන: දෝෂ පණිවිඩ SQL Server 2012 වෙතින්.
දෝෂ
අද්විතීය බාධකයක් උල්ලං lation නය කිරීම මඟින් දෝෂය 2627 වේ.
Msg 2627, Level 14, State 1, Line 1
Violation of UNIQUE KEY constraint 'P1U_pk'. Cannot insert duplicate key in object 'dbo.P1U'. The duplicate key value is (1).
The statement has been terminated.
අද්විතීය දර්ශක උල්ලං lation නය කිරීමේ දෝෂය 2601.
Msg 2601, Level 14, State 1, Line 1
Cannot insert duplicate key row in object 'dbo.P1' with unique index 'P1_u'. The duplicate key value is (1).
The statement has been terminated.
අක්රීය කිරීම
අද්විතීය බාධකයක් අබල කළ නොහැක.
Msg 11415, Level 16, State 1, Line 1
Object 'P1U_pk' cannot be disabled or enabled. This action applies only to foreign key and check constraints.
Msg 4916, Level 16, State 0, Line 1
Could not enable or disable the constraint. See previous errors.
නමුත් ඕනෑම අද්විතීය දර්ශකයකට මෙන් ප්රාථමික යතුරු අවහිරයක් හෝ අද්විතීය බාධකයක් පිටුපස ඇති අද්විතීය දර්ශකය අක්රීය කළ හැකිය. තොප්පි මොළය 2000.
ALTER INDEX P1_u ON dbo.P1 DISABLE ;
පොකුරු දර්ශකයක් අක්රීය කිරීමෙන් දත්ත ප්රවේශ කළ නොහැකි බවට සුපුරුදු අනතුරු ඇඟවීම සැලකිල්ලට ගන්න.
විකල්ප
අද්විතීය සීමාවන් වැනි විකල්ප හදුනාගැනිමේ සහයෝගය FILLFACTOR
හා IGNORE_DUP_KEY
මෙම SQL Server සෑම අනුවාද සඳහා නඩුව වී නැති අතර ඒ.
ඇතුළත් තීරු
නොකැඩූ දර්ශකවලට සුචිගත නොකළ තීරු ඇතුළත් කළ හැකිය (ආවරණ දර්ශකය ලෙස හැඳින්වේ, මෙය ප්රධාන කාර්ය සාධනය වැඩි කිරීමකි). PRIMARY KEY සහ UNIQUE අවහිරතා පිටුපස ඇති දර්ශකවලට තීරු ඇතුළත් කළ නොහැක. තොප්පි ඉඟිය @ypercube.
පෙරීම
අද්විතීය බාධකයක් පෙරීම කළ නොහැක.
අද්විතීය දර්ශකයක් පෙරීම කළ හැකිය.
CREATE UNIQUE NONCLUSTERED INDEX Students6_DrivesLicence_u
ON dbo.Students6( DriversLicenceNo ) WHERE DriversLicenceNo is not null ;
විදේශීය යතුරු අවහිරතා
පෙරහන් නොකළ අද්විතීය දර්ශකයක් යොමු කළ හැකි වුවද, විදේශීය යතුරු සීමාවකට පෙරහන් කළ අද්විතීය දර්ශකයක් සඳහන් කළ නොහැක (මෙය SQL සේවාදායක 2005 හි එකතු කරන ලද්දක් යැයි මම සිතමි).
නම් කිරීම
අවහිරතා නිර්මාණය කිරීමේදී, අවහිරතා නමක් සඳහන් කිරීම අත්යවශ්ය නොවේ (සියලු වර්ග පහ සඳහා). ඔබ නමක් සඳහන් නොකරන්නේ නම් MSSQL ඔබ වෙනුවෙන් එකක් ජනනය කරනු ඇත.
CREATE TABLE dbo.T1 (
TID int not null PRIMARY KEY
) ;
GO
CREATE TABLE dbo.T2 (
TID int not null CONSTRAINT T2_pk PRIMARY KEY
) ;
දර්ශක නිර්මාණය කිරීමේදී, ඔබ නමක් සඳහන් කළ යුතුය.
තොප්පි ඉඟිය @ i-one.
සබැඳි
http://technet.microsoft.com/en-us/library/aa224827(v=SQL.80).aspx
http://technet.microsoft.com/en-us/library/ms177456.aspx