ããªã¬ã¼ãèªåçæï¼
ãããªã¬ã¼ã®é©å¿ç¯å²ã¯ã¨ã¯ã»ã«ã§åºåã§ããã¨ããã¾ã§ã¨ããã¨ãå¿ ç¶çã«ã§ãããã¨ã¯éããã¾ããé¢é£ãã§ãã¯ãæ´åæ§ã®ç¶æã«éãããã§ãããã
ã¾ãã¯æ¸ãã¦ã¿ãã
ã以前書いたトリガーãå°ãä¿®æ£ãã¦ã¿ã¾ããããï¼SQLServerã§æ¸ãã¾ãããï¼
ãããªã¬ã¼ãä»è¾¼ããã¼ãã«ã
CREATE TABLE M000_製å ( ããIDããããããããããããããint IDENTITY(1, 1) NOT NULL, ããCDããããããããããããããnvarchar(20) NOT NULL, ããåºåãããããããããããããnvarchar(10) NOT NULL, ããååãããããããããããããnvarchar(255) NOT NULL, ããã¹ãã¼ã¿ã¹ããããããããããint NOT NULL, ããæå¹æééå§ãããããããããdatetime NOT NULL, ããæå¹æéçµäºãããããããããdatetime NOT NULL ) go ALTER TABLE M000_製å ADD CONSTRAINT pkM000_製å PRIMARY KEY (ID) CREATE UNIQUE INDEX idxM000_製åCD ON M000_製å (CD, åºå, æå¹æééå§) |
ãããªã¬ã¼ã®å 容ã¯ãCDãåºåãåããã¼ã¿ã§æå¹æéã«éãªããããã¨ããã¨ã©ã¼ã¡ãã»ã¼ã¸ãåºãæ´æ°ãããªãï¼ãã¼ã«ããã¯ããï¼ã
CREATE TRIGGER dbo.trIUDM000_製å ON M000_製å ããFOR INSERT, UPDATE, DELETE AS BEGIN ããIF NOT (UPDATE(CD) OR UPDATE(åºå) /* ã¦ãã¼ã¯ãã¼ã§ä»£æ¿ã§ãã¾ããã¡ãã»ã¼ã¸ãåºããã¨ãå
±éã«ãããªãããªã¬ã¼ã§ã ããIF EXISTS(SELECT 1 END; |
ã[ID]ã[æå¹æééå§]ã[æå¹æéçµäº]ã¨ããã«ã©ã åãããã¸ã§ã¯ãå ã§çµ±ä¸ããã¦ããã¨ããã¨ãã¨ã¯ã»ã«ã®ãã¼ãã«å®ç¾©æ¸ããåã£ã¦ããé ç®ã¯ã赤ãããã¨ããããããã¾ãããä»ã¯åºå®ã«ãªãã¾ããå½ããåã§ããã対象ã®ãã¼ãã«ã1åã§ã200åã§ãåºå®ã§ãããä¸åº¦æ¸ãã°è¯ãã®ã§ãããã¼ãã«å®ç¾©æ¸ãããã¼ãã«ã®Createæãåºåãã¦ãã人ãªãããã¼ãã«ã®èªåçæããç°¡åã¨ãããã¨ãåããã§ãããã
ãããã¸ã§ã¯ãã®ã«ã¼ã«ã«ãã£ã¦ãã¡ãã»ã¼ã¸ã¯é©å½ãªé¢æ°ã«ãã¦ã¡ãã»ã¼ã¸ã®ç´å¤ãé¿ããã§ãããããã¡ãã»ã¼ã¸ãçµ±ä¸ãããèããã°ãã¦ãã¼ã¯ã¤ã³ããã¯ã¹ãããã¦ããªã¬ã¼å ã§ãã§ãã¯ãã¦ããã¾ããªããä¸æ©é²ãã§ãã¨ã©ã¼ãåºåããã®ã§ã¯ãªãããã¸ã§ã¯ãã®ã«ã¼ã«ã«ãã£ã¦ãåå¾ã®æå¹æéãå¤ããèªåã§èª¿æ´ããããªã¬ã¼ãä½ããã¨ãã§ãã¾ãã
ãããã«ãã£ã¦ãã¹ã¿ã«æå¹æéãã¤ãã¦ãã¦ããã¢ããªã±ã¼ã·ã§ã³å´ã¯ããã®æ´æ°æã«æå¹æéã®å¦¥å½æ§ãä¸åæ°ã«ããªãã§ãè¯ãããã§ãã
ããã¼ãã«å®ç¾©æ¸ããããªã¬ã¼ãåºåãããªãã°ãæå¹æéãã¤ãããã¹ã¿ãããããããã¨é¢ä¿ãªãããããããæå¹æéããããã¹ã¿ãã¨ããªããã¹ã¿ããæ··å¨ãããã¨ã®æ¹ãã¢ããªã±ã¼ã·ã§ã³ã®å®è£ æã«æ··ä¹±ãæãã¾ãã
ã¿ããªããã£ã¦ããã°å¹³æ°ãªã®ãï¼
ããªãã¸ã§ã¯ãæåã®èãæ¹ï¼OOè¨èªãããªãâ¦â¦ï¼ã§ããããªãã¸ã§ã¯ãã®æ´åæ§ããï¼å®ã¯å ¨ãé¢ä¿ãªãï¼å¤ã®ãªãã¸ã§ã¯ãã«ãã£ã¦ç¶æããã¦ããã
ãã¤ã¾ããããããç¶æ
ããªãã¸ã§ã¯ãæåã®èãæ¹ã§ã¯ãã£ã¦ã¯ãªããªãç¶æ ã§ããã§ãããªãã¸ã§ã¯ãæåãè¯ããã ãï¼ãã£ã¦ãã人ã»ã©ããã®å·¨å¤§ãªçç¾ã«ã¯å¹³æ°ãªã®ã§ãããâ¦â¦ã