code_junkie

SQL Server - How to insert a record and make sure it is unique

Nov 12th, 2011
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. SELECT WordID FROM Words WHERE Word = @Word
  2. IF WordID IS NULL OR WordID <= 0
  3. INSERT INTO Words VALUES (@Word)
  4.  
  5. INSERT INTO Words (Word)
  6. SELECT @Word
  7. WHERE NOT EXISTS (SELECT WordID FROM Words WHERE Word = @Word)
  8.  
  9. INSERT INTO Words (Word)
  10. SELECT @Word
  11. WHERE NOT EXISTS (SELECT WordID FROM Words WHERE Word = @Word)
  12.  
  13. INSERT INTO Words (Word)
  14. VALUES(@Word)
  15. WHERE NOT EXISTS (SELECT * FROM Words WHERE Word = @Word)
  16.  
  17. CREATE UNIQUE [ CLUSTERED | NONCLUSTERED ] INDEX <index_name>
  18. ON Words ( word [ ASC | DESC ])
  19.  
  20. ALTER TABLE Words
  21. ADD CONSTRAINT UniqueWord
  22. UNIQUE (Word);
  23.  
  24. insert into Words
  25. ( selectWord , Fixword)
  26. SELECT word,'theFixword'
  27. FROM OldWordsTable
  28. WHERE
  29. (
  30. (word LIKE 'junk%') OR
  31. (word LIKE 'orSomthing')
  32.  
  33. )
  34. and word not in
  35. (
  36. SELECT selectWord FROM words WHERE selectWord = word
  37. )
  38.  
  39. CREATE UNIQUE NONCLUSTERED INDEX [IndexTableUniqueRows] ON [dbo].[table]
  40. (
  41. [Col1] ASC,
  42. [Col2] ASC,
  43.  
  44. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = ON, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
  45.  
  46. declare @Error int
  47.  
  48. begin transaction
  49. INSERT INTO Words (Word) values(@word)
  50. set @Error = @@ERROR
  51. if @Error <> 0 --if error is raised
  52. begin
  53. goto LogError
  54. end
  55. commit transaction
  56. goto ProcEnd
  57.  
  58. LogError:
  59. rollback transaction
Add Comment
Please, Sign In to add comment