HPE NonStop SQL/MX ãªãªãŒã¹ 3.4 ãªãã¡ã¬ã³ã¹ããã¥ã¢ã«æç²ç æ¬è³æã¯ HPE NonStop SQL/MX ãªãªãŒã¹ 3.3 (691117-197) ãã HPE NonStop SQL/MX ãªãªãŒã¹ 3.4 (691117-008) ãžã®å€æŽç¹ã èšèŒããŠãããŸã
æ°èŠæ å ±ãšæŽæ°å 容 691117-008 ã®ããã¥ã¢ã«ãžã®å€æŽç¹ : 衚 12 ãæŽæ°ã㊠MODIFY...REORG ã远å ããŸãã 衚 14 ãæŽæ°ã㊠MODIFY...REPARTITION ãš MODIFY...REORG ã远å ããŸãã ALTER TABLE æ ã®æ§æãæŽæ°ããŸãã ALTER VIEW æ ã®æ³šèšãã RI å¶çŽãåé€ããŸãã CONTROL QUERY DEFAULT æã« ã€ã³ã©ã€ã³ã® CONTROL QUERY DEFAULT ããã³ãã®èæ ®äºé ã远å ããŸãã ã€ã³ããã¯ã¹çšã®ããŒãã£ã·ã§ã³ã®èªåäœæ ã®ã»ã¯ã·ã§ã³ã远å ããŸãã CREATE INDEX ã®äŸ ãæŽæ°ããŸãã ã¹ããŒãã®åæäœæ ã远å ããŸãã CREATE TRIGGER æ ã®ä»¥äžã®èª¬æãæŽæ°ããŸãã searched-update-statement insert-statement set-new-statement æš©éãšäœ¿çšã®èŠä»¶ ã®èª¬æãæŽæ°ããŸãã CREATE TRIGGER ã«é¢ããçæäºé ã« ã»ãã¥ãªãã£ã«é¢ããçæäºé ããã³ ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒãšããªã¬ãŒ ã远å ããŸãã CREATE VIEW ã«é¢ããçæäºé ã«ãªããã£ãã€ã¶ãŒã®ãã³ãã«é¢ããèæ ®äºé ã远å ããŸãã DELETE æ ã®æ§æãæŽæ°ããŸãã DOWNGRADE ãŠãŒãã£ãªãã£ ãæŽæ°ããŠäžŠè¡æ§ãš TMF ãžã®åœ±é¿ã远å ããŸãã DROP SEQUENCE ã®æ§æã®èª¬æ ãæŽæ°ããŸãã GIVE Object ã«é¢ããçæäºé ãæŽæ°ããŸãã INSERT æ ãæŽæ°ããŸãã ANSI åã䜿çšããããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ã®åããŒã ã« MODIFY ã®æ°åœ¢åŒã远å ããŸãã ã¬ã³ãžåå²ãããããŒãã«ãšã€ã³ããã¯ã¹ã®ããŒãã£ã·ã§ã³ã®ç®¡ç ãæŽæ°ããŸãã ããã·ã¥åå²ãããããŒãã«ãšã€ã³ããã¯ã¹ã®ããŒãã£ã·ã§ã³ã®ç®¡ç ãæŽæ°ããŸãã ãªã³ã©ã€ã³ã®ããŒãã£ã·ã§ã³ç®¡ç ããã³ ãªãã©ã€ã³ã®ããŒãã£ã·ã§ã³ç®¡ç ãæŽæ°ããŸãã åå岿äœã®ã¢ãã«ãªããžã§ã¯ãã«å¯Ÿããå¶é ã远å ããŸãã MODIFY ã®äŸ ã« MODIFY ãŠãŒãã£ãªãã£ã®äŸã远å ããŸãã PURGEDATA ãŠãŒãã£ãªãã£ ãæŽæ°ããŸãã RECOVER ãŠãŒãã£ãªã㣠㫠RECOVER ãŠãŒãã£ãªãã£ã®æ§æã®èª¬æã远å ããŸãã ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã«é¢ããçæäºé ã« REVOKE æã®çæäºé ã远å ã 2
ãŸãã SELECT æ ã®æ§æãæŽæ°ããŸãã ã€ã³ã©ã€ã³ CQD ã§ã® SELECT ã®äŸ ã«äŸã远å ããŸãã UPDATE æ ã®ãªããã£ãã€ã¶ãŒã®ãã³ã仿§æãæŽæ°ããŸãã UPDATE STATISTICS æ ãæŽæ°ããŸãã UPGRADE ãŠãŒãã£ãªãã£ ãæŽæ°ã äžŠè¡æ§ TMF ãžã®åœ±é¿ ããã³åæ£ç°å¢ã远å ããŸãã MXCI ã³ãã³ãã®äŸ ãæŽæ°ããŸãã SET SESSION DEFAULT æ ã远å ããŸãã SHOWSET ã³ãã³ã ã远å ããŸãã SHOWSTATS ã³ãã³ã ãæŽæ°ããŸãã FIXUP æäœ ã® -rt ã³ãã³ãã®èª¬æãæŽæ°ããŸãã SQL/MX ãã«ã¹ãã§ãã¯ããŒã« ãæŽæ°ããŸãã VERIFY æäœ ãæŽæ°ããŸãã æ°å€ããŒã¿ã¿ã€ã ã§ä»¥äžã®å€æŽãããŸãã precision ã®ããã©ã«ãå€ãæŽæ°ããŸãã FLOAT [( precision )] ã®èª¬æãæŽæ°ããŸãã ããŒãã£ã·ã§ã³ã®èªåäœæ ãæŽæ°ããŸãã æ¥ä»æå»é¢æ° ã®äžã«ä»¥äžã®é¢æ°ã远å ããŸãã LAST_DAY 颿° MONTHS_BETWEEN 颿° TO_TIMESTAMP 颿° æ°åŠé¢æ° ã®äžã«ä»¥äžã®é¢æ°ã远å ããŸãã CONVERTTOHEX ROUND ãã®ä»ã®é¢æ°ãšåŒ ã®äžã«ä»¥äžã®é¢æ°ã远å ããŸãã IFNULL ãŸã㯠ISNULL NULLIF NULLIFZERO ZEROIFNULL TO_CHAR(<NUMERIC>) 颿° ãæŽæ°ããŸãã ALL_UIDS ããŒãã« ãæŽæ°ããŸãã SCHEMATA ããŒãã« ãæŽæ°ããŸãã COL_PRIVILEGES ããŒãã« ãæŽæ°ããŸãã OBJECTS ããŒãã« ãã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒãšå€éšã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã§æŽæ°ããŸãã 3
ããã©ã«ã屿§ ã®äžã«ä»¥äžã远å ããŸãã CPU_LIST_FOR_ESP_PLACEMENT DEFAULT_LENGTH_OF_STRING_FUNCTIONS ENABLE_LAZY_CANCEL ENABLE_OPTIMIZER_HINTS MERGE_MDAM_DISJUNCTS MXCMP_TIMEOUT OPTIMIZER_HINTS_WARNING_LEVEL POS_FOR_INDEX ã¡ã¿ããŒã¿ç®¡ç ãæŽæ°ããŸãã ããŒãã£ã·ã§ã³ç®¡ç ã®äžã« POS_FOR_INDEX 屿§ãšèšå®ã®è©³çްã远å ããŸãã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ã®äžã«ä»¥äžã® CQD 屿§ãšèšå®ã®è©³çްã远å ããŸãã CPU_LIST_FOR_ESP_PLACEMENT DEFAULT_LENGTH_OF_STRING_FUNCTIONS ENABLE_LAZY_CANCEL ENABLE_OPTIMIZER_HINTS MERGE_MDAM_DISJUNCTS MXCMP_TIMEOUT OPTIMIZER_HINTS_WARNING_LEVEL Hewlett Packard Enterprise ã®åç §ãæŽæ°ããŸãã 4
衚 12 ã§ã¯ DDL æäœã®é²è¡äžã«éå§ã§ãã DML æäœãæ¯èŒããŠããŸã 衚 12 åæå®è¡ããã DML ããã³ DDL æäœ éå§ã§ãã DML æäœ é²è¡äžã® DDL æäœ SELECT UNCOMMITTED SELECT SHARE SELECT EXCLUSIVE UPDATE/ INSERT DELETE ALTER INDEX èš±å¯ * èš±å¯èš±å¯èš±å¯ ALTER SEQUENCE 屿§ ALTER TABLE 屿§ ALTER TABLE 屿§ä»¥å€ CREATE INDEX with POPULATE CREATE INDEX NO POPULATE CREATE SEQUENCE CREATE TRIGGER 察象ããŒãã« CREATE TRIGGER åç §å ããŒãã« èš±å¯ * èš±å¯ èš±å¯ èš±å¯ èš±å¯ * èš±å¯ èš±å¯ èš±å¯ èš±å¯ * åŸ æ© åŸ æ© åŸ æ© èš±å¯ * èš±å¯ åŸ æ© åŸ æ© èš±å¯ èš±å¯ èš±å¯ èš±å¯ èš±å¯ èš±å¯ èš±å¯ èš±å¯ èš±å¯ èš±å¯ åŸ æ© åŸ æ© èš±å¯ èš±å¯ èš±å¯ èš±å¯ CREATE VIEW èš±å¯èš±å¯èš±å¯èš±å¯ GRANT èš±å¯ * åŸ æ©åŸ æ©åŸ æ© MODIFY online operations MODIFY offline operations*** èš±å¯ * èš±å¯åŸ æ©åŸ æ© èš±å¯ * èš±å¯ ** èš±å¯ ** åŸ æ© MODIFY...REORG èš±å¯èš±å¯èš±å¯èš±å¯ POPULATE INDEX èš±å¯ * èš±å¯ ** èš±å¯ ** åŸ æ© REVOKE èš±å¯ * èš±å¯åŸ æ©åŸ æ© UPDATE STATISTICS èš±å¯èš±å¯èš±å¯èš±å¯ ** * DDL æäœã DML æäœãäžæããŸã ** ã³ããããã§ãŒãºäžãé€ãèš±å¯ãããŸã *** ããã€ãã®äŸå€ããããŸã ããã·ã¥åå²ãããããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ããããŒãã£ã·ã§ã³ãåé€ããã«ã¯æä»çã¢ã¯ã»ã¹ãå¿ èŠã§ã 5
衚 14 ã« ãŠãŒãã£ãªãã£ã§ã®åæå®è¡ã®å¶éã瀺ããŸã 衚 14 ãŠãŒãã£ãªãã£æäœã®åæå®è¡æ§ã®å¶é ãŠãŒãã£ãªã㣠DML æäœä»ã®ãŠãŒãã£ãªã㣠DDL æäœ ã¡ã¿ããŒã¿æ å ±ãèªã¿åãã ãã®ãŠãŒãã£ãªã㣠: EXPORTDDL INFO MXGNAMES SHOWDDL SHOWLABEL VERIFY ã¡ã¿ããŒã¿ãšãŠãŒã¶ãŒããŒã¿ã®äž¡æ¹ãèªã¿åããŠãŒãã£ãªã㣠: BACKUP FASTCOPY ( ãœãŒã¹ããŒãã«ã®ã¿ ) DUP ( ãœãŒã¹ããŒãã«ã®ã¿ ) ãã¹ãŠã® DML æäœ (SELECT UPDATE DELETE INSERT) ãåæã«å®è¡ã§ãã SELECT ã®ã¿ãèš±å¯ããã ãã®ã«ããŽãªã®ãŠãŒãã£ãªãã£ã¯ã©ããåæã«å®è¡ã§ãã ã¡ã¿ããŒã¿ãèªã¿åããŠãŒãã£ãªãã£ã®ã¿ãåæã«å®è¡ã§ãã ãå§ãã§ããŸãã ãå§ãã§ããŸãã ã¡ã¿ããŒã¿ãèªã¿åã£ãŠãŠãŒã¶ãŒããŒã¿ãæŽæ°ãããŠãŒãã£ãªã㣠: IMPORT ( é«éããŒãã䜿çšããªã ) ãã¹ãŠã® DML æäœ (SELECT UPDATE DELETE INSERT) ãåæã«å®è¡ã§ãã ããŒãã£ã·ã§ã³ã«å¯Ÿããããã¯ãå€ãããå Žå DP2 㯠DML æäœã®åæå®è¡ãçŠæ¢ããããŒãã«ããã¯ã«ææ Œãã ã¡ã¿ããŒã¿ãèªã¿åããŠãŒãã£ãªãã£ã®ã¿åæã«å®è¡ã§ãã åãããŒãã«ã§ã®äžŠåã€ã³ããŒããèš±å¯ããã ãå§ãã§ããŸãã ãªãã©ã€ã³ã§ã¡ã¿ããŒã¿ãæŽæ°ããã³ãŠãŒã¶ãŒããŒã¿ãèªã¿æžããããŠãŒãã£ãªã㣠: MODIFY (Shared access ãªãã·ã§ã³ç¡ã )* POPULATE INDEX (Shared access ãªãã·ã§ã³ç¡ã )* SELECT ã®ã¿ãèš±å¯ããã ** ã¡ã¿ããŒã¿ãèªã¿åããŠãŒãã£ãªãã£ã®ã¿åæã«å®è¡ã§ãã èš±å¯ãããªã ãªã³ã©ã€ã³ã§ã¡ã¿ããŒã¿ãæŽæ°ããã³ãŠãŒã¶ãŒããŒã¿ãèªã¿åã ( æžã蟌ãå Žåããã ) ãŠãŒãã£ãªã㣠: MODIFY (Shared access ãªãã·ã§ã³æã ) UPDATE STATISTICS POPULATE INDEX (Shared access ãªãã·ã§ã³æã )* ãã¹ãŠã® DML æäœãèš±å¯ããã ã¡ã¿ããŒã¿ãèªã¿åããŠãŒãã£ãªãã£ã®ã¿ãåæã«å®è¡ã§ãã *** èš±å¯ãããªã ããŒã¿ãæŽæ°ããã³ã¡ã¿ããŒã¿ã倿Žããå ŽåããããŠãŒãã£ãªã㣠: FIXUP FASTCOPY ( ã¿ãŒã²ããããŒãã«ã®ã¿ ) DUP ( ã¿ãŒã²ããããŒãã«ã®ã¿ ) IMPORT using fast load MODIFY ( ããã·ã¥åå²ã®å逿 ) PURGEDATA RESTORE èš±å¯ãããªã åææäœã¯èš±å¯ãããªã èš±å¯ãããªã 6
ã¡ã¿ããŒã¿ãèªã¿åã£ãп޿°ããããŠãŒã¶ãŒããŒã¿ã¯å€æŽããªããŠãŒãã£ãªã㣠: UPGRADE DOWNGRADE ãã¹ãŠã® DML æäœ ã¡ã¿ããŒã¿ãèªã¿åãã ãã®ãŠãŒãã£ãªã㣠蚱å¯ãããªã ãã¡ã€ã«ã©ãã«ã¹ããŒã¿ã¹ãèªã¿åãã ãã®ãŠãŒãã£ãªã㣠: MODIFY REORG options ãã¹ãŠã® DML æäœ (SELECT UPDATE DELETE INSERT) ãåæã«å®è¡ã§ãã ãã®ã«ããŽãªã®ãŠãŒãã£ãªãã£ã¯ã©ããåæã«å®è¡ã§ãã ãå§ãã§ããŸãã ããŒãã«ãã€ã³ããã¯ã¹ãååºåããããã«äœ¿çšãããŠãŒãã£ãªã㣠: MODIFY...REPARTITION ãã¹ãŠã® DML æäœãèš±å¯ããã ã¡ã¿ããŒã¿ãèªã¿åããŠãŒãã£ãªãã£ã®ã¿åæã«å®è¡ã§ãã èš±å¯ãããªã ç©çãã¡ã€ã«ãåæ§æãããŠãŒãã£ãªã㣠: MODIFY...REORG ãã¹ãŠã® DML æäœãèš±å¯ããã ã¡ã¿ããŒã¿ãèªã¿åããŠãŒãã£ãªãã£ã®ã¿åæã«å®è¡ã§ãã èš±å¯ãããªã * ããã€ãã®äŸå€ããããŸã ããã·ã¥åå²ãããããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ããããŒãã£ã·ã§ã³ãåé€ããã«ã¯æä»çã¢ã¯ã»ã¹ãå¿ èŠã§ã ** ãããã®æäœã®æçµæ®µéã§ããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ãžã®æä»çã¢ã¯ã»ã¹ãå¿ èŠãªãã SELECT æäœã§ãã£ãŠãå®è¡ã§ããŸãã *** MODIFY æäœã®æçµæ®µéã§ããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ãžã®æä»çã¢ã¯ã»ã¹ãå¿ èŠãªãã ãããªã DDL ããã³ DML ãå®è¡ã§ããŸãã 7
ALTER TABLE æ ALTER TABLE ã«é¢ããçæäºé (2-31) ALTER TABLE ã®äŸ (2-41) ALTER TABLE æã¯ 以äžã®æäœã«ãã SQL/MX ããŒãã«ã倿ŽããŸã ããŒãã«ãžã®åã®è¿œå ããŒãã«ã®å¶çŽã®è¿œå ãŸãã¯åé€ ããŒãã«ã® 1 ã€ä»¥äžã®ãã¡ã€ã«å±æ§ã®å€æŽ ããŒãã«ã®ååå€æŽ ALTER TABLE table alter-action alter-action is: ADD [COLUMN] column-definition ADD [CONSTRAINT constraint] table-constraint DROP CONSTRAINT constraint [RESTRICT CASCADE] ATTRIBUTE[S] attribute [,attribute]... RENAME TO new-table-object-name [CASCADE] ATTRIBUTE[S] attribute [,attribute]... ALTER COLUMN column_name recalibrate-option ALTER COLUMN column_name SET basic-sequence-generator-option column-definition is: column-name data-type [DEFAULT default] [HEADING 'heading-string' NO HEADING] [[CONSTRAINT constraint] column-constraint]... data-type is: CHAR[ACTER] [(length)[characters]] [CHARACTER SET char-set-name ] [COLLATE DEFAULT] [UPSHIFT] PIC[TURE] X [(length)][character SET char-set-name ] length) [CHARACTER SET char-set-name] [COLLATE DEFAULT] [UPSHIFT] VARCHAR (length) [CHARACTER SET char-set-name] [COLLATE DEFAULT] [UPSHIFT] NUMERIC [(precision [,scale])] [SIGNED UNSIGNED] NCHAR [(length) [COLLATE DEFAULT] [UPSHIFT] NCHAR VARYING(length) [COLLATE DEFAULT] [UPSHIFT] SMALLINT [SIGNED UNSIGNED] precision [,scale])] [SIGNED UNSIGNED] PIC[TURE] [S]{ 9(integer) [V[9(scale)]] V9(scale) } [DISPLAY [SIGN IS LEADING] COMP] FLOAT [(precision)] REAL DOUBLE PRECISION DATE TIME [(time-precision)] TIMESTAMP [(timestamp-precision)] INTERVAL { start-field TO end-field single-field } is: literal NULL CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP {CURRENT_USER USER} column-constraint is: UNIQUE PRIMARY KEY [ASC[ENDING] DESC[ENDING]] CHECK (condition) REFERENCES ref-spec table-constraint is: UNIQUE (column-list) 8
PRIMARY KEY (key-column-list) CHECK (condition) FOREIGN KEY (column-list) REFERENCES ref-spec column-list is: column-name [,column-name]... key-column-list is: column-name [ASC[ENDING] DESC[ENDING]] [,column-name [ASC[ENDING] DESC[ENDING]]... COMMENT: {INSERTLOG NO INSERTLOG} {LOCKONREFRESH NO LOCKONREFRESH } {[NO] AUTOMATIC MANUAL MIXED] RANGELOG} [NO ON STATEMENT ON REQUEST RECOMPUTE ALL} MVS ALLOWED END COMMENT ref-spec is: referenced-table [(column-list)] [referential triggered action ] referential triggered action is: update rule [delete rule ] delete rule [update rule ] update rule is: ON UPDATE referential action delete rule is: ON DELETE referential action referential action is: RESTRICT NO ACTION CASCADE SET NULL SET DEFAULT attribute is: {ALLOCATE num-extents DEALLOCATE} {AUDITCOMPRESS NO AUDITCOMPRESS} {CLEARONPURGE NO CLEARONPURGE} MAXEXTENTS num-extents recalibrate-option is: RECALIBRATE RECALIBRATE TO signed-numeric-literal RECALIBRATE TO signed-numeric-literal NO SELECT basic-sequence-generator-option is: INCREMENT BY signed-numeric-literal MAXVALUE signed-numeric-literal 9
ALTER VIEW æ ãã®ã»ã¯ã·ã§ã³ã§ã¯ ALTER VIEW æãšæã瀺ãäŸã«ã€ããŠèª¬æããŸã ALTER VIEW ã«é¢ããçæäºé ALTER VIEW ã®äŸ ALTER VIEW æã¯æ¬¡ã®ã¢ã¯ã·ã§ã³ãå®è¡ã㊠ãã¥ãŒã倿ŽããŸã ã¹ããŒãå ã®ãªããžã§ã¯ãã®ååå€æŽ 1 ã€ä»¥äžã®ãã¥ãŒãã¡ã€ã«å±æ§ã®å€æŽã«ãããã¥ãŒã®å€æŽ é¡äŒŒæ§ãã§ãã¯ã®æå¹åãŸãã¯ç¡å¹å ãã㯠SQL/MX ãªãªãŒã¹ 3.2 ãããµããŒããããŠããŸã ALTER VIEW name alter-action alter-action is:{rename-action similarity-check-action} rename-action is: RENAME TO new-view-name similarity-check-action is: [{ENABLE DISABLE} SIMILARITY CHECK] name 倿Žãããã¥ãŒã®ååãæå®ããŸã RENAME TO new-view-name ãã¥ãŒã®è«çåã倿ŽããŸã new-view-name ãã¥ãŒã®æ°ãã ANSI åãæå®ããŸã ãã¥ãŒã®æ°ãã ANSI åã¯ä¿®é£Ÿã§ããŸãã ååã倿Žããããã¥ãŒã¯çŸåšã®ã«ã¿ãã°ãšã¹ããŒãã«çãŸããŸã æ³šèš : ãã¥ãŒã®ååã倿Žãããš åç §å ã®ãã¥ãŒ ããã³ããªã¬ãŒã®ããã¹ããæ°ããååãåç §ããããã«å€æŽãããŸã RENAME TO ã«ãã£ãŠ åœ±é¿ãåãããã¥ãŒã®åå®çŸ©ã¿ã€ã ã¹ã¿ã³ãã倿ŽãããŸã ãã ã ãã¥ãŒã«ãã£ãŠåç §ãããŠããããŒãã«ã¯åœ±é¿ãåããŸãã similarity-check-option ENABLE SIMILARITY CHECK ãã¥ãŒã®é¡äŒŒæ§ãã§ãã¯ãæå¹ã«ããŸã DISABLE SIMILARITY CHECK ãã¥ãŒã®é¡äŒŒæ§ãã§ãã¯ãç¡å¹ã«ããŸã 10
ALTER VIEW ã«é¢ããçæäºé æš©éãšäœ¿çšã®èŠä»¶ TMF ãžã®åœ±é¿ ãã¥ãŒã倿Žããã«ã¯ ãã®ã¹ããŒããææããŠããã Super ID ã§ããã ãŸãã¯ãªããžã§ã¯ããªãŒããŒã§ããå¿ èŠããããŸã ãã¥ãŒã®ååå€æŽ åå倿Žãªãã·ã§ã³ã䜿çšã㊠ãã¥ãŒã®ååã倿Žã§ããŸã 次㫠ãã¥ãŒã®ååã倿Žããå Žåã®åææ¡ä»¶ã瀺ããŸã ãã¥ãŒãšãã®ãã¡ã€ã«ã©ãã«ã䜿çšã§ããå¿ èŠããããŸã ã¹ããŒãå ã«æ°ãã ANSI åããã§ã«ååšããŠããªãå¿ èŠããããŸã é¡äŒŒæ§ãã§ã㯠ALTER VIEW æã®çºè¡åŸã«é¡äŒŒæ§ãã§ãã¯ã®èšå®ãæå¹ã«ããã«ã¯ ãã¥ãŒã䜿çšããŠããã¢ããªã±ãŒã·ã§ã³ãåã³ã³ãã€ã«ããå¿ èŠããããŸã é¡äŒŒæ§ãã§ãã¯ããã§ã«æå¹ã«ãããŠãããã¥ãŒã«å¯Ÿã㊠ENABLE SIMILARITY CHECK ã詊ã¿ãããã ãŸãã¯é¡äŒŒæ§ãã§ãã¯ããã§ã«ç¡å¹ã«ãããŠãããã¥ãŒã«å¯Ÿã㊠DISABLE SIMILARITY CHECK ã詊ã¿ãããå Žå ãšã©ãŒãè¿ãããŸã ååå€æŽ TMF ãžã®åå倿Žãªãã·ã§ã³ã®åœ±é¿ã«ã€ããŠã¯ TMF ãžã®åœ±é¿ (2-39) ãåç §ããŠãã ãã ALTER VIEW ã®äŸ 次ã®ã³ãã³ãã¯ãã¥ãŒ CAT.SCH.V1 ã V2 ã«å€æŽããŸã ALTER VIEW CAT.SCH.V1 RENAME TO V2; æ°ãããã¥ãŒ V2 㯠åŒãç¶ã V1 ãšåãã«ã¿ãã°ãšã¹ããŒãã«çãŸããŸã 次ã®ã³ãã³ã㯠ãã¥ãŒãžã®é¡äŒŒæ§ãã§ãã¯ãæå¹ã«ããŸã ALTER VIEW CAT.SCH.V1 ENABLE SIMILARITY CHECK; 次ã®ã³ãã³ã㯠ãã¥ãŒãžã®é¡äŒŒæ§ãã§ãã¯ãç¡å¹ã«ããŸã ALTER VIEW CAT.SCH.V1 DISABLE SIMILARITY CHECK; 11
Inline CONTROL QUERY DEFAULT ã€ã³ã©ã€ã³ã® CONTROL QUERY DEFAULT æ©èœã«ãã æã¬ãã«ã§äžé£ã® CQD ãæå®ã§ããŸã ã€ãŸã æã«å¯ŸããŠè€æ°ã®å±æ§ãã«ã³ãã§åºåã£ãŠèšå®ã§ããŸã ã€ã³ã©ã€ã³ CQD ãæã€æãã³ã³ãã€ã«ãããš ã€ã³ã©ã€ã³ã§æå®ããã CQD ã åäžã»ãã·ã§ã³å ã§æå®ããã CQD ããåªå ãããŸã ã€ã³ã©ã€ã³ CQD 㯠æå®ã®æã®ã¿ã«å¯ŸããŠæå¹ã§ãã åäžã® MXCI ãŸãã¯ã¢ããªã±ãŒã·ã§ã³ã®ã»ãã·ã§ã³ã®ä»ã®æã«å¯ŸããŠã¯å¹æããããŸãã ã€ã³ã©ã€ã³ CQD 㯠DML æ (SELET INSERT DELETE UPDATE) ã®ã¿ã«å¯ŸããŠäœ¿çšã§ããŸã ã€ã³ã©ã€ã³ CQD ã®æ§æã«ã€ããŠã¯ ããããã® DML æãåç §ããŠãã ãã ã€ã³ã©ã€ã³ CQD ã®è©³çŽ°ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã CONTROL QUERY DEFAULT ã«é¢ããçæäºé CONTROL QUERY DEFAULT ã®ç¯å² CONTROL QUERY DEFAULT æã®å®è¡ã®çµæã¯ çŸåšã®ããã»ã¹ãçµäºãããŸã§ ãŸãã¯åã attribute ã®å¥ã®æã®å®è¡ã«ãã£ãŠããããªãŒããŒã©ã€ãããããŸã§ æå¹ãªãŸãŸã«ãªããŸã ããã©ã«ãèšå®ã®åªå é äœã«ã€ããŠã®è©³çްãªã¹ã㯠ã·ã¹ãã ããã©ã«ãããŒãã« (10-37) ãåç §ããŠãã ãã CONTROL TABLE ãšã®é¢ä¿ CONTROL QUERY DEFAULT æã䜿çšã㊠çŸåšã®ããã»ã¹ã®ãã¹ãŠã®ããŒãã«ã®åçš®å±æ§ã®ã·ã¹ãã ã¬ãã«ã®ããã©ã«ãèšå®ããªãŒããŒã©ã€ãããŸã CONTROL TABLE æã䜿çšã㊠çŸåšã®ããã»ã¹ã®ããŒãã«ããšãŸãã¯ãã¹ãŠã®ããŒãã«ã® TABLELOCK TIMEOUT SIMILARITY_CHECK 屿§ã®ã·ã¹ãã ã¬ãã«ã®ããã©ã«ãèšå®ããªãŒããŒã©ã€ãããŸã ããšãã° æ CONTROL TABLE * TIMEOUT '3000' ã¯æ CONTROL QUERY DEFAULT TIMEOUT '3000' ãšåã广ãæã¡ãŸã CONTROL TABLE æ (2-72) ãåç §ããŠãã ãã CONTROL TABLE æã¯ CONTROL QUERY DEFAULT æããåªå ãããŸã ããã©ã«ãèšå®ã®åªå é äœã«ã€ããŠã®è©³çްãªã¹ã㯠ã·ã¹ãã ããã©ã«ãããŒãã« (10-37) ãåç §ããŠãã ãã ã€ã³ã©ã€ã³ã® CONTROL QUERY DEFAULT CQD ã®ãã¡ã®ããããããšã©ãŒã«ãªããš æå šäœãã³ã³ãã€ã«ãšã©ãŒã«ãªããŸã ã€ã³ã©ã€ã³ CQD 㯠æã®æãå€éšã®ã¬ãã«ã§ã®ã¿ãµããŒããããŸã ãµãã¯ãšãª UNION ãŸãã¯ãã®ä»ã®è€åææ§é ã®äžã§äœ¿çšããããš æã®ã³ã³ãã€ã«ã¯å€±æããŸã 次ã«äŸã瀺ããŸã SELECT col1, col2 FROM table1 WHERE col1 IN (SELECT col2 FROM table2 WITH CQD RECOMPILATION_WARNINGS 'ON', QUERY_CACHE '0'); ã€ã³ã©ã€ã³ CQD 㯠DDL ããã³ãŠãŒãã£ãªãã£æãšäžç·ã«ã¯äœ¿çšã§ããŸãã ã€ã³ã©ã€ã³ CQD 㯠è€åæã®äžã§ã¯ãµããŒããããŸãã ã€ã³ã©ã€ã³ CQD äžã§ã¯ RESET ãªãã·ã§ã³ãŸãã¯ã¯ã€ã«ãã«ãŒããªãã·ã§ã³ã® * ãæå®ã§ããŸãã ã¯ãšãªãã£ãã·ã¥ã§ã¯ ã€ã³ã©ã€ã³ CQD æããã³ç䟡ãªéåžžã® CQD ãš DML æã®çµã¿åããã 2 ã€ã®åå¥ã®æãšããŠåãæ±ããŸã CQD ã®åªå 床é ã¯ä»¥äžã®ãšããã§ã 12
1. ã€ã³ã©ã€ã³ CQD 2. ã¢ãžã¥ãŒã«ãã¡ã€ã«ã®-D ãªãã·ã§ã³ã§æå®ããã CQD 3. ãã¬ã¹ããŒãã¡ã³ã CQD 4. SYSTEM_DEFAULTS ããŒãã«ãšã³ããªãŒ 5. DEFAULT -DEFAULT å¶é以äžã®å±æ§ã¯ã€ã³ã©ã€ã³ CQD ã§ã¯ãµããŒããããŸãã CATALOG DDL_VIEW_SIMILARITY_CHECK INFER_CHARSET MP_SUBVOLUME MP_SYSTEM MP_VOLUME MXCMP_TIMEOUT NAMETYPE NATIONAL_CHARSET NOT_NULL_CONSTRAINT_DROPPABLE_OPTION POS_NUM_OF_PARTNS QUERY_CACHE QUERY_CACHE_MAX_VICTIMS QUERY_CACHE_REQUIRED_PREFIX_KEYS QUERY_CACHE_STATEMENT_PINNING READONLY_CURSOR SCHEMA VARCHAR_PARAM_DEFAULT_SIZE CONTROL QUERY DEFAULT ã®äŸ çŸåšã®ããã»ã¹ã® ISOLATION_LEVEL 屿§ã倿ŽããŸã CONTROL QUERY DEFAULT ISOLATION_LEVEL 'READ UNCOMMITTED'; çŸåšã®ããã»ã¹ã®éç TIMEOUT 屿§ã倿ŽããŸã CONTROL QUERY DEFAULT TIMEOUT '3000'; å€ 3000 㯠100 åã® 1 ç§åäœã§ 30 ç§ã«çãããªããŸã çŸåšã®ããã»ã¹ã® TIMEOUT 屿§ããã®åæå€ã«ãªã»ããããŸã CONTROL QUERY DEFAULT TIMEOUT RESET; ã¹ã¯ã©ãããã£ã¹ã¯ã«äœ¿çšããããªã¥ãŒã ãšåªå ãããããªã¥ãŒã ãæå®ããŸã CONTROL QUERY DEFAULT SCRATCH_DISKS 13
'$data01, $data02, \tstnode.$scr'; CONTROL QUERY DEFAULT SCRATCH_DISKS_PREFERRED '$data02'; 14
ã€ã³ããã¯ã¹çšã®ããŒãã£ã·ã§ã³ã®èªåäœæ ãŠãŒã¶ãŒã CREATE INDEX æã䜿çšããŠããã·ã¥åå²ãããã€ã³ããã¯ã¹ãèªåçã«äœæã§ããããã« NonStop SQL/MX 㯠Partition Overlay Specification (POS) ã䜿çšããŠããŸã NonStop SQL/MX 㯠ã¬ã³ãžåå²ãããã€ã³ããã¯ã¹ã®èªåäœæããµããŒãããŠããŸãã ã¢ããªã±ãŒã·ã§ã³ã¯ POS ãæå¹ã«ãããã©ãã ããŒãã£ã·ã§ã³ã®æ° ããã³ããŒãã£ã·ã§ã³ã®ç©ççãªå Žæãå¶åŸ¡ã§ããŸã 以äžã® CONTROL QUERY DEFAULT 屿§ã«ãã£ãŠ ããŒãã£ã·ã§ã³ã®ç©ççãªå Žæãšæ° ããã³ã€ã³ããã¯ã¹çšã« POS ãæå¹ã«ãããåŠã ãæ±ºå®ãããŸã POS_LOCATIONS POS_NUM_OF_PARTNS POS_FOR_INDEX POS_RAISE_ERROR 屿§ã¯ ãšã©ãŒã®è¡šç€ºæ¹æ³ãå¶åŸ¡ããŸã ãããã®å±æ§ã®å€ãšæ§æã«ã€ããŠã¯ ããŒãã£ã·ã§ã³ç®¡ç ãåç §ããŠãã ãã ã€ã³ããã¯ã¹çš POS ãæå¹ã«ããã«ã¯ POS_NUM_OF_PARTNS 屿§ã 1 ãã倧ããå€ã« POS_FOR_INDEX 屿§ã ON ã«èšå®ããŸã POS ãã¢ã¯ãã£ãåããã«ã¯ æ¬¡ã®æ¡ä»¶ãæºããããŠããããšã確èªããŠãã ãã CREATE INDEX æã®å®è¡äžã« POS æ©èœãé©çšãããŠãã CREATE INDEX æãããŒãã£ã·ã§ãã³ã°æ§æã䜿çšã㊠add location ãæå®ããŠããªã CREATE INDEX æã« PARTITION PARTITION BY RANGE PARTITION ãŸã㯠RANGE PARTITION BY å¥ãå«ãŸããŠããªã CREATE INDEX æã« HASH PARTITION ãŸã㯠HASH PARTITION BY å¥ãå«ãŸããŠããŠãè¯ã ãã©ã€ããªããŒãã£ã·ã§ã³ã® LOCATION å¥ãæå®ããå Žå ããŒãã£ã·ã§ã³ã¯ ãã®å¥ã§æå®ãããããªã¥ãŒã ã«é 眮ãããŸã ãã®å Žå POS ã¯ãã©ã€ããªããŒãã£ã·ã§ã³ã®å ŽæãçæããŸãã LOCATION å¥ãæå®ããã« POS_LOCATIONS ãèšå®ããå Žå ãã©ã€ããªããŒãã£ã·ã§ã³ã¯ POS_LOCATIONS ã§æå®ãããŠããæåã®ããªã¥ãŒã ã«é 眮ãããŸã ãã®ä»ã®ããŒãã£ã·ã§ã³ã¯ POS_LOCATIONS ã§ã©ãŠã³ãããã³æ¹åŒã§æå®ãããããªã¥ãŒã äžã«ã©ã³ãã ã«é 眮ãããŸã CREATE INDEX æã§ LOCATION å¥ãæå®ãããŠããã POS_LOCATIONS CQD ã空ã§ããå Žå NonStop SQL/MX 㯠ãã¹ãŠã®ãªãŒãã£ãã察象ããªã¥ãŒã ããã©ã³ãã ã«å ŽæãéžæããŸã 次ã®äŸã¯ 屿§å€ã®çµã¿åããã䜿çšããŠããŒãã£ã·ã§ã³ãèªåçã«äœæãããæ¹æ³ã瀺ããŠããŸã 1. POS_NUM_OF_PARTNS ã 3 ãšããŠæå®ã POS_LOCATIONS ã« 3 ã€ã®å Žæ $VOL1 $VOL2 ããã³ $VOL3 ããªã¹ãããŸã NonStop SQL/MX 㯠ãã©ã€ããªããŒãã£ã·ã§ã³ã $VOL1 ã«é 眮ã 2 çªç®ã®ããŒãã£ã·ã§ã³ã $VOL1 以å€ã®ããªã¥ãŒã ã«ã©ã³ãã ã«é 眮ããŸã ãã®åŸ ãã®ä»ã®ããŒãã£ã·ã§ã³ãã©ãŠã³ãããã³æ¹åŒã§é 眮ããŸã 2. POS_NUM_OF_PARTNS ã 5 ãšããŠæå®ã POS_LOCATIONS ã« 3 ã€ã®å Žæ $VOL1 $VOL2 ããã³ $VOL3 ããªã¹ãããŸã 15
NonStop SQL/MX 㯠ãã©ã€ããªããŒãã£ã·ã§ã³ã $VOL1 ã«é 眮ã 2 çªç®ã®ããŒãã£ã·ã§ã³ã $VOL1 以å€ã®ããªã¥ãŒã ã«ã©ã³ãã ã«é 眮ããŸã ãã®åŸ ãã®ä»ã®ããŒãã£ã·ã§ã³ãã©ãŠã³ãããã³æ¹åŒã§é 眮ããŸã 3. POS_NUM_OF_PARTNS ã 4 ãšããŠæå®ã POS_LOCATIONS ã« 3 ã€ã®å Žæ $VOL1 $VOL2 ããã³ $VOL3 ããªã¹ãããŸã ããã« CREATE æã« $DATA1 ãæå®ãã LOCATION å¥ãå«ããŸã NonStop SQL/MX 㯠ãã©ã€ããªããŒãã£ã·ã§ã³ã $DATA1 ã«é 眮ã 2 çªç®ã®ããŒãã£ã·ã§ã³ã $DATA1 以å€ã®ããªã¥ãŒã ã«ã©ã³ãã ã«é 眮ããŸã ãã®åŸ ãã®ä»ã®ããŒãã£ã·ã§ã³ãã©ãŠã³ãããã³æ¹åŒã§é 眮ããŸã ããŒãã£ã·ã§ãã³ã°å ã¯ã©ã¹ã¿ãªã³ã°ããŒããããŒãã£ã·ã§ãã³ã°ããŒãåãé¢ãã«ã¯ HASH PARTITION BY å¥ã䜿çšããŸã HASH PARTITION BY å¥ããªãå Žå ã€ã³ããã¯ã¹ã®ããŒãã£ã·ã§ãã³ã°åã¯ã¯ã©ã¹ã¿ãªã³ã°ããŒåãšåãã«ãªããŸã POS ã䜿çšãããš åãé¢ãããããŒãå«ãã€ã³ããã¯ã¹ã®ããŒãã£ã·ã§ã³ãèªåçã«äœæã§ããŸã CREATE INDEX ã®äŸ ãã®äŸã§ã¯ ããŒãã«ã® 2 ã€ã®åã«ã€ã³ããã¯ã¹ãäœæããŸã CREATE INDEX xempname ON persnl.employee (last_name, first_name); ãã®äŸã§ã¯ ããŒãã«ã«äžæã®ã€ã³ããã¯ã¹ (UNIQUE PRIMARY KEY ãŸãã¯åç §å¶çŽããµããŒãããããã«äœ¿çšããããšãã§ãããã® ) ãäœæã åå²ããŸã CREATE UNIQUE INDEX XEMP ON PERSNL.EMPLOYEE (LAST_NAME, EMPNUM) LOCATION $data1 ATTRIBUTE NO AUDITCOMPRESS PARTITION (ADD FIRST KEY 'E' LOCATION $data1, ADD FIRST KEY 'J' LOCATION $data2, ADD FIRST KEY 'O' LOCATION $data2, ADD FIRST KEY 'T' LOCATION $data3); ãã®äŸã§ã¯ POS_FOR_INDEX ã䜿çšããŠããŒãã« persnl.employee äžã« 2 ã€ã®ããŒãã£ã·ã§ã³ãæã€ã€ã³ããã¯ã¹ãäœæããæ¹æ³ã瀺ããŸã 以äžã® CQD ãèšå®ããŸã control query default POS_NUM_OF_PARTNS '2'; control query default POS_FOR_INDEX 'ON'; ããŒãã« persnl.employee ã«ã€ã³ããã¯ã¹ãäœæããŸã create index persnl.employee_idx2 on persnl.employee_pos(b); 16
ã¹ããŒãã®åæäœæ åãã«ã¿ãã°å ã§ CREATE SCHEMA ã³ãã³ããåæã«äœ¿çšãããš ã·ã¹ãã ã¡ã¿ããŒã¿ããŒãã«ã®ããã¯ã®ç«¶åã«ããã¿ã€ã ã¢ãŠãããããšããããŸã CREATE SCHEMA ã®äŸ ãã®äŸã§ã¯ ã¹ããŒããäœæããŸã CREATE SCHEMA mycat.myschema; ãã®äŸã§ã¯ ãµãããªã¥ãŒã ZSDABCDE äžã«é 眮ããã pubs.jsmith ããªãŒããŒã§ããã¹ããŒããäœæããŸã CREATE SCHEMA sch2 AUTHORIZATION pubs.jsmith LOCATION ZSDABCDE; ãã®äŸã§ã¯ ãµãããªã¥ãŒã ZSDSCHEM äžã«é 眮ãããã¹ããŒããäœæããŸã CREATE SCHEMA myschema LOCATION ZSDSCHEM; ãã®äŸã§ã¯ ãµãããªã¥ãŒã ZSDSCHE2 ããã§ã«å¥ã®ã¹ããŒãã§äœ¿çšãããŠãããšãã« ãã®ãµãããªã¥ãŒã äžã«é 眮ãããã¹ããŒããæå³çã«äœæããŸã CREATE SCHEMA myschema LOCATION ZSDSCHE2 REPEAT USE ALLOWED; 17
CREATE TRIGGER æ CREATE TRIGGER ã«é¢ããçæäºé (2-146) CREATE TRIGGER ã®äŸ (2-150) CREATE TRIGGER æã¯ SQL/MX ããŒãã«ã«å¯Ÿããããªã¬ãŒãäœæããããã«äœ¿çšãããŸã ããªã¬ãŒã¯ æå®ãããã€ãã³ãã«å¿çã㊠ããŒã¿ããŒã¹ã·ã¹ãã ã«èªåçã«ç¹å®ã®ã¢ã¯ã·ã§ã³ãå®è¡ãããã¡ã«ããºã ã§ã CREATE TRIGGER trigger-name {BEFORE AFTER} {INSERT DELETE UPDATE [OF (columns)]} ON table-name [REFERENCING old-new-alias-list ] [FOR EACH {ROW STATEMENT}] [WHEN (search-condition)] triggered-sql-statement; columns is: column-name, columns column-name old-new-alias-list is: old-new-alias, old-new-alias-list old-new-alias old-new-alias is: OLD [AS] correlation-name NEW [AS] correlation-name OLD [AS] table-alias NEW [AS] table-alias triggered-sql-statement is: searched-update-statement searched-delete-statement call-statement insert-statement signal-statement set-new-statement signal-statement is: SIGNAL SQLSTATE quoted-sqlstate (quoted-string-expr); CREATE TRIGGER ã®æ§æã®èª¬æ trigger-name 远å ãããããªã¬ãŒã® ANSI è«çåãæ¬¡ã®åœ¢åŒã§æå®ããŸã [[catalog-name.]schema-name.]trigger-name ããã§ ååã®åéšåã¯æå€§ 128 æåã®æå¹ãª SQL èå¥åã§ã 詳现㯠èå¥å (6-56) ãåç §ããŠãã ãã column-name ããªã¬ãŒãã¢ã¯ãã£ãåããããšãã«æ¿å ¥ åé€ ãŸãã¯æŽæ°ããåã® ANSI è«çåãæ¬¡ã®åœ¢åŒã§æå®ããŸã [[catalog-name.]schema-name.]column-name ããã§ ååã®åéšåã¯æå€§ 128 æåã®æå¹ãª SQL èå¥åã§ã table-name 18
ãã®ããªã¬ãŒãå®çŸ©ãããŠããããŒãã«ã® ANSI è«çåãæ¬¡ã®åœ¢åŒã§æå®ããŸã [[catalog-name.]schema-name.]column-name ããã§ ååã®åéšåã¯æå€§ 128 æåã®æå¹ãª SQL èå¥åã§ã ããªã¬ãŒã¯ SQL/MX ããŒãã«ã§ã®ã¿å®çŸ©ã§ããŸã FOR EACH { ROW STATEMENT } ãã®ããªã¬ãŒãè¡ãŸãã¯æã®ã©ã¡ãã«åºã¥ããŠããããæå®ããŸã ãã®å¥ãæå®ããªãå Žå ããã©ã«ã㯠BEFORE ããªã¬ãŒã®å Žå㯠ROW AFTER ããªã¬ãŒã®å Žå㯠STATEMENT ã§ã old-new-alias ããªã¬ãŒã«ãã£ãŠäœ¿çšãããçžé¢åãŸãã¯ããŒãã«ãšã€ãªã¢ã¹ã®ãªã¹ãã§ã correlation-name ããªã¬ãŒã«ãã£ãŠæäœãããå€ãè¡ãŸãã¯æ°ããè¡ã®ååã§ã table-alias ããªã¬ãŒã«ãã£ãŠæäœãããå€ãããŒãã«ãŸãã¯æ°ããããŒãã«ã®ååã§ã search-condition true ã®å Žåã« ãã®ããªã¬ãŒãã¢ã¯ãã£ãåããæ¡ä»¶ã§ã SQL/MX ãªãªãŒã¹ 3.2 ãã AFTER ããªã¬ãŒã¯ search-condition å ã§ãµãã¯ãšãªããµããŒãããŠããŸã çµåãš GROUP BY ãå«ãåçŽãªãµãã¯ãšãªããµããŒããããŸã triggered-sql-statement ãã®ããªã¬ãŒãã¢ã¯ãã£ãåããããšãã«å®è¡ããã SQL æã§ã searched-update-statement AFTER ããªã¬ãŒãã¢ã¯ãã£ãåããããšãã«å®è¡ãããæŽæ°æã§ã SQL/MX ãªãªãŒã¹ 3.4 ãã AFTER ããªã¬ãŒã¯ searched-update-statement å ã§ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒããµããŒãããŠããŸã ãã®æã§ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã䜿çšããã«ã¯ ã¹ããŒãã®ããŒãžã§ã³ã 3400 以äžã§ããå¿ èŠããããŸã searched-delete-statement AFTER ããªã¬ãŒãã¢ã¯ãã£ãåããããšãã«å®è¡ãããå逿ã§ã call-statement AFTER ããªã¬ãŒãã¢ã¯ãã£ãåããããšãã«å®è¡ããã CALL æã§ã ãã®ãµããŒã㯠SQL/MX ãªãªãŒã¹ 3.2 ãã䜿çšã§ããŸã insert-statement AFTER ããªã¬ãŒãã¢ã¯ãã£ãåããããšãã«å®è¡ãããæ¿å ¥æã§ã SQL/MX ãªãªãŒã¹ 3.4 ãã AFTER ããªã¬ãŒã¯ insert-statement å ã§ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒããµããŒãããŠããŸã ãã®æã§ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã䜿çšããã«ã¯ ã¹ããŒãã®ããŒãžã§ã³ã 3400 以äžã§ããå¿ èŠããããŸã signal-statement 19
SIGNAL æã«éä¿¡ãããæã§ã set-new-statement ããªã¬ãŒã¢ã¯ã·ã§ã³ã«ãã£ãŠå€æŽããã察象ããŒãã«å ã®åã衚ãé·ç§»å€æ°ã«å€ãå²ãåœãŠãããã« BEFORE ããªã¬ãŒã¢ã¯ã·ã§ã³ãšããŠäœ¿çšã§ããå²ãåœãŠæã§ã SQL/MX ãªãªãŒã¹ 3.4 ãã BEFORE ããªã¬ãŒã¯ set-newstatement å ã§ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒããµããŒãããŠããŸã ãã®æã§ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã䜿çšããã«ã¯ ã¹ããŒãã®ããŒãžã§ã³ã 3400 以äžã§ããå¿ èŠããããŸã quoted-sqlstate SIGNAL ã«æž¡ããã 5 æ¡ã® SQLSTATE ã§ã quoted-string-expr (messagetext) ããã³ quoted-sqlstate ãååŸããã«ã¯ GET DIAGNOSTICS ã³ãã³ãã䜿çšããŸã quoted-string-expr æåååŒã§ã 20
æš©éãšäœ¿çšã®èŠä»¶ ããªã¬ãŒãäœæããã«ã¯ 以äžã®é ç®ã®ãªãŒããŒã§ããå¿ èŠããããŸã ããªã¬ãŒãå®çŸ©ãããã¹ããŒã 察象ããŒãã«ãé 眮ãããã¹ããŒã 察象ããŒãã« ããã§ãªãå Žå㯠Super ID ã§ããå¿ èŠããããŸã ã»ãã¥ãªãã£ã«é¢ããçæäºé ããªã¬ãŒãäœæããã«ã¯ åç §ãããªããžã§ã¯ãã«å¯Ÿããæš©éãæã£ãŠããå¿ èŠããããŸã ããšãã° åç §ããŒãã«ã«æ¿å ¥ããããªã¬ãŒãäœæããã«ã¯ ãã®ããŒãã«ã«å¯Ÿãã INSERT æš©éãå¿ èŠã§ã ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒçšã«ãµããŒããããŠããæš©é㯠USAGE æš©éã®ã¿ã§ã ãããã ããªã¬ãŒããåç §ããããã¹ãŠã®ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒãªããžã§ã¯ãã«å¯Ÿãã USAGE æš©éãä¿æããå¿ èŠããããŸã 詳现㯠GIVE Object ã«é¢ããçæäºé ããã³ REVOKE ã«é¢ããçæäºé (2-314) ãåç §ããŠãã ãã 21
ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒãšããªã¬ãŒ SQL/MX ãªãªãŒã¹ 3.4 ãã ããªã¬ãŒã¯ triggered-sql-statement å ã«ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒãæãŠãŸã ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã¯ BEFORE ããã³ AFTER ããªã¬ãŒã®äž¡æ¹ ããã³ ROW ããã³ STATEMENT ããªã¬ãŒã®äž¡æ¹ã«ã€ããŠå®çŸ©ã§ããŸã ROW ããªã¬ãŒã«ã€ããŠã¯ ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã¯ BEFORE ããªã¬ãŒã® setnew-statement å ã§ã®ã¿äœ¿çšã§ã AFTER ããªã¬ãŒã® insert-statement ããã³ searched-update-statement å ã§ã®ã¿äœ¿çšã§ããŸã STATEMENT ããªã¬ãŒã«ã€ã㊠ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã¯ AFTER ããªã¬ãŒã® insert-statement ããã³ searched-update-statement å ã§ã®ã¿äœ¿çšã§ããŸã ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã¯ããªã¬ãŒã® WHEN å¥ããã³ REFERENCING å¥å ã§ã¯ãµããŒããããŸãã BEFORE ããã³ AFTER ããªã¬ãŒå ã®ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã«ã€ã㊠CURRVAL ããµããŒããããŸã 次ã®äŸã¯ AFTER ããªã¬ãŒã§ã® CURRVAL ã®äœ¿çšã瀺ããŸã CREATE TRIGGER ATRIG AFTER INSERT ON BT2 REFERENCING NEW AS NEWTAB FOR EACH STATEMENT WHEN (NEWROW.ID < 2) UPDATE AT3 SET C = SEQ.CURRVAL; ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã¯ triggered-sql-statement ã®æŽæ°ã§ã® SET å¥å ã§ãµããŒããããŸã 次ã®äŸã¯ ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã®æŽæ°æã§ã® SET å¥ã®äœ¿çšã瀺ããŸã CREATE TRIGGER A_TRIG2 AFTER INSERT ON AT2 REFERENCING NEW AS NEWTAB FOR EACH STATEMENT WHEN ((SELECT COUNT (*) FROM AT3 WHERE NEWTAB.JJ = 2)>1) UPDATE AT2 SET C = SEQ.NEXTVAL; ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã¯ triggered-sql-statement ã®æŽæ°ããã³åé€ã§ã® WHERE å¥å ã§ã¯ãµããŒããããŸãã 22
CREATE VIEW ã«é¢ããçæäºé SQL/MP ããŒãã«ãŸã㯠SQL/MP ãšã€ãªã¢ã¹ãåç §ãã SQL/MX ãã¥ãŒãäœæããããšã¯ã§ããŸãã CREATE VIEW æã§ãªããã£ãã€ã¶ãŒã®ãã³ããæå®ã§ããŸãã 23
DELETE æ DELETE ã«é¢ããçæäºé (2-165) MXCI ã§ã® DELETE ã®äŸ (2-168) C ã§ã® DELETE ã®äŸ (2-171) COBOL ã® DELETE ã®äŸ (2-171) ãããªãã·ã¥ / ãµãã¹ã¯ã©ã€ãã§ã® DELETE ã®äŸ (2-172) DELETE æã¯ ããŒãã«ãŸãã¯æŽæ°å¯èœãªãã¥ãŒããè¡ãåé€ãã DML æã§ã ãã¥ãŒããè¡ãåé€ãããš ãã¥ãŒãåºã«ããŠããããŒãã«ããè¡ãåé€ãããŸã DELETE 㯠ããŒãã«ãŸãã¯ãã¥ãŒã®æåŸã®è¡ãåé€ãããŠã ããŒãã«ãŸãã¯ãã¥ãŒãåé€ããŸãã SQL/MX ãªãªãŒã¹ 3.2 以éã§ã¯ èªå·±åç §åé€ããµããŒããããŸã ãã®ãµããŒãã«ãã ã¿ãŒã²ããããŒãã«ããåé€ããè¡ããµãã¯ãšãªã§éžæã§ããŸã DELETE æã® 3 ã€ã®åœ¢åŒã次ã«ç€ºããŸã æ€çŽ¢ã«ãã DELETE è¡ãåé€ããŸã ( è¡ã®éžæã¯æ€çŽ¢æ¡ä»¶ã«ãã£ãŠç°ãªããŸã ) äœçœ®æå®ã«ãã DELETE ã«ãŒãœã«ã®äœçœ®ã«ãã£ãŠå€å¥ããã 1 ã€ã®è¡ãåé€ããŸã MULTI COMMIT DELETE (MCD) äžé£ã®å°ããåå¥ã®ãã©ã³ã¶ã¯ã·ã§ã³ã§å€æ°ã®ã¬ã³ãŒããåé€ããŸã æ€çŽ¢ã«ãã DELETE ã®åœ¢åŒã§ WHERE å¥ããªãå Žå㯠ããŒãã«ãŸãã¯ãã¥ãŒãããã¹ãŠã®è¡ãåé€ãããŸã äœçœ®æå®ã«ãã DELETE ã®åœ¢åŒã¯ åã蟌㿠SQL ããã°ã©ã ã§ã®ã¿äœ¿çšããŸã æ€çŽ¢ã«ãã圢åŒã¯ MXCI ãŸãã¯åã蟌㿠SQL ããã°ã©ã ã§äœ¿çšããŸã æ€çŽ¢ã«ãã DELETE ãæ¬¡ã«ç€ºããŸã [ ROWSET FOR INPUT SIZE rowset-size-in ] DELETE [multi-commit-option] FROM table STREAM (table ) [AFTER LAST ROW] [SET ON ROLLBACK set-roll-clause [,set-roll-clause]...] [WHERE search-condition rowset-search-condition ] [[FOR] access-option ACCESS] [WITH control-query-default control-list][statement-level-hint-list] set-roll-clause is: column-name = expression access-option is: READ COMMITTED SERIALIZABLE REPEATABLE READ SKIP CONFLICT control-query-default is: 24
CONTROL QUERY DEFAULT control-list is: attribute 'attr-value' attribute 'attr-value' [, control-list]... statement-level-hint-list is: USING <<+ hint-list >> hint-list is: hint [, hint-list] hint is: statement-hint table-hint statement-hint is: join-type-hint table-hint is: access-path-hint cardinality-hint selectivity-hint join-type-hint is: USE_HASHJOIN (table-1 [,table-2]) NO_HASHJOIN (table-1 [,table-2]) USE_MERGEJOIN (table-1 [,table-2]) NO_MERGEJOIN (table-1 [,table-2]) USE_NESTEDJOIN (table-1 [,table-2]) NO_NESTEDJOIN (table-1 [,table-2]) access-path-hint is: BASETABLE table NO_BASETABLE table INDEX table( index-list ) NO_INDEX table( index-list ) INDEXJOIN table( index-list ) NO_INDEXJOIN table( index-list ) index-list is: index [, index]... cardinality-hint is: CARDINALITY table( cardinality-value ) selectivity-hint is: SELECTIVITY table( selectivity-value ) äœçœ®æå®ã«ãã DELETE ãæ¬¡ã«ç€ºããŸã DELETE FROM table WHERE CURRENT OF {cursor-name ext-cursor-name} MULTI COMMIT DELETE ãæ¬¡ã«ç€ºããŸã multi-commit-option is: WITH MULTI COMMIT [ granularity ] granularity is: EVERY num ROWS ROWSET FOR INPUT SIZE rowset-size-in WHERE å¥ã« rowset-search-condition ãæå®ããå Žåã«ã®ã¿èš±å¯ãããŸã rowset-size-in ã¯å ¥åè¡ã»ããã®ãµã€ãºãæå®ãããµã€ãºã«å¶éããŸã 25
table è¡ã»ããã«å²ãåœãŠãããŠãããµã€ãºãš rowset-size-in ãç°ãªãå Žå NonStop SQL/MX 㯠2 ã€ã®ãµã€ãºã®å°ããæ¹ã䜿çšã 倧ããè¡ã»ããã®æ®ãã®ãšã³ããªãŒãç¡èŠããŸã rowset-size-in 㯠C ã® unsigned short signed short unsigned long ãŸã㯠signed long ã¿ã€ãã®æ£æ°ãªãã©ã« ããã³ COBOL ã®å¯Ÿå¿ããåçãªæ£æ°ãªãã©ã« ( çæ°ãªãã©ã« åçãã©ã¡ãŒã¿ãŒ ãŸãã¯ãã¹ã倿° ) ã§ããå¿ èŠããããŸã rowset-size-in ãæå®ããªãå Žå NonStop SQL/MX ã¯åã蟌㿠SQL ããã°ã©ã ã® SQL Declare Section ã«æå®ãããå²ãåœãŠæžã¿ã®è¡ã»ããã®ãµã€ãºã䜿çšããŸã è¡ãåé€ãããŠãŒã¶ãŒããŒãã«ãŸãã¯ãã¥ãŒãæå®ããŸã table ã¯å®ããŒãã«ãŸãã¯æŽæ°å¯èœãªãã¥ãŒã§ããå¿ èŠããããŸã ããŒãã«ãŸãã¯ãã¥ãŒãåç §ããã«ã¯ 次ã®ååã¿ã€ãã®ããããã䜿çšããŸã Guardian ç©çå ANSI è«çå DEFINE å ããŒã¿ããŒã¹ãªããžã§ã¯ãå (6-13) ãåç §ããŠãã ãã ããŒãã«ãŸãã¯å®ããŒãã«ã®ãã¡ã€ã«ç·šæã¯ ããŒã·ãŒã±ã³ã¹ã§ããå¿ èŠããããŸã DELETE ã䜿çšã㊠SQL/MP ã®å ¥åé ããŒãã«ããè¡ãåé€ããããšã¯ã§ããŸãã STREAM (table) æå®ããããŒãã«ããé£ç¶ããããŒã¿ã¹ããªãŒã ãåé€ããŸã SELECT æã®ããŒãã«åç §ãšããŠåã蟌ãŸããŠããªãå Žå DELETE æã« STREAM ã¢ã¯ã»ã¹ãæå®ã§ããŸãã SELECT æ ãåç §ããŠãã ãã [AFTER LAST ROW] ããŒãã«å ã®æ¢åã®ãã¹ãŠã®è¡ãã¹ããªãŒã ãã¹ãããããããã«ã㊠ã¹ããªãŒã ã®ã«ãŒãœã«ãéãããŠããå ¬éãããè¡ã®ã¿ãåé€ããŸã SET ON ROLLBACK set-roll-clause [,set-roll-clause ]... DELETE æã®å®è¡ã«ãã£ãŠ ããã«å«ãŸããŠãããã©ã³ã¶ã¯ã·ã§ã³ãããŒã«ããã¯ãããå Žå 1 ã€ä»¥äžã®åãæŽæ°ãããŸã set-roll-clause æå®ããåã«ç¹å®ã®å€ãèšå®ããŸã å set-roll-clause ã«ã€ã㊠æå®ããã¿ãŒã²ããã® column-name ã®å€ã æŽæ°ãœãŒã¹ã® expression ã®å€ã«çœ®ãæããããŸã ã¿ãŒã²ããã®ååã®ããŒã¿ã¿ã€ãã ãœãŒã¹å€ã®ããŒã¿ã¿ã€ããšäºææ§ãããå¿ èŠããããŸã column-name æŽæ°ãã table ã®åãæå®ããŸã ååã修食ããã ç¹°ãè¿ãããããããšã¯ã§ããŸãã ãã©ã€ããªããŒã®äžéšã§ããåã®å€ãæŽæ°ããããšã¯ã§ããŸãã 26
expression åã®å€ãæå®ãã SQL å€ã®åŒã§ã expression ã«ã¯ åã«å®çŸ©ããéçŽé¢æ°ãå«ããããšã¯ã§ããŸãã expression ã®ããŒã¿ã¿ã€ã㯠column-name ã®ããŒã¿ã¿ã€ããšäºææ§ãããå¿ èŠããããŸã expression å ã®ã¹ã«ã©ãŒãµãã¯ãšãªã¯ æŽæ°ãããŠããããŒãã«ãåç §ã§ããŸãã expression ãæŽæ°ãããåãåç §ããŠããå Žå NonStop SQL/MX ã¯å ã®å€ã䜿çšããŠåŒãè©äŸ¡ã æ°ããå€ãå€å¥ããŸã åŒ (6-41) ãåç §ããŠãã ãã WHERE search-condition åé€ããè¡ãéžæããæ€çŽ¢æ¡ä»¶ãæå®ããŸã æ€çŽ¢æ¡ä»¶å ã§æ¯èŒãããå㯠åé€ãããããŒãã«ãŸãã¯ãã¥ãŒã®åã§ã æ€çŽ¢æ¡ä»¶ (6-108) ãåç §ããŠãã ãã æ€çŽ¢æ¡ä»¶ãæå®ããªãå Žå㯠ããŒãã«ãŸãã¯ãã¥ãŒã®ãã¹ãŠã®è¡ãåé€ãããŸã PURGEDATA ãŠãŒãã£ãªãã£ã䜿çšããããšã«ãã£ãŠ ããŒãã«ãŸãã¯ããŒãã«ã®ããŒãã£ã·ã§ã³ãããã¹ãŠã®è¡ãåé€ããããšãã§ããŸã WHERE rowset-search-condition åé€ããè¡ãéžæããæ€çŽ¢æ¡ä»¶ã®é åãæå®ããŸã æ€çŽ¢æ¡ä»¶ã¯é çªã«é©çšãã 忡件ã«ãã£ãŠéžæãããè¡ã¯ æ¬¡ã®æ€çŽ¢æ¡ä»¶ãé©çšãããåã«åé€ãããŸã è¡ã»ããæ€çŽ¢æ¡ä»¶ (6-110) ãåç §ããŠãã ãã [FOR] access-option ACCESS æ€çŽ¢æ¡ä»¶ã®è©äŸ¡ã«äœ¿çšãããããŒã¿ã«å¿ èŠãªã¢ã¯ã»ã¹ãªãã·ã§ã³ãæå®ããŸã ããŒã¿äžè²«æ§ãšã¢ã¯ã»ã¹ãªãã·ã§ã³ (1-8) ãåç §ããŠãã ãã READ COMMITTED æ€çŽ¢æ¡ä»¶ã®è©äŸ¡ã«äœ¿çšãããããŒã¿ã ã³ãããæžã¿ã®è¡ã§ããå¿ èŠãããããšãæå®ããŸã SERIALIZABLE REPEATABLE READ DELETE æããã³äžŠè¡ããã»ã¹ ( åãããŒã¿ã«ã¢ã¯ã»ã¹ãã ) ã䞊è¡ã§ã¯ãªãé£ç¶çã«å®è¡ãããŠãããã®ããã«å®è¡ããããšãæå®ããŸã SKIP CONFLICT å¥ã®ãã©ã³ã¶ã¯ã·ã§ã³ã«ãã£ãŠç«¶åã¢ãŒãã§ããã¯ãããŠããè¡ããã©ã³ã¶ã¯ã·ã§ã³ãã¹ãããããããã«ããŸã 察象ãšãªãè¡ã¯ DELETE æã®æ€çŽ¢æ¡ä»¶ãè©äŸ¡ããçµæã®è¡ã§ã SKIP CONFLICT 㯠SET TRANSACTION æã§ã¯äœ¿çšã§ããŸãã ããã©ã«ãã®ã¢ã¯ã»ã¹ãªãã·ã§ã³ã¯ å«ãŸããŠãããã©ã³ã¶ã¯ã·ã§ã³ã®åé¢ã¬ãã«ã§ãã åé¢ã¬ãã« (10-55) ã«æå®ãããã«ãŒã«ã«åŸã£ãŠæ±ºå®ãããŸã [WITH control-query-default control-list] Control-query-default 㯠DML æçšã®ã€ã³ã©ã€ã³ CQD ã³ãã³ããæå®ããŸã CQD ã³ãã³ã㯠CONTROL QUERY DEFAULT ã§ã Control-list ã¯ å±æ§åãšãã®å€ãå«ã¿ãŸã 27
attribute SQL/MX 屿§åã衚ãæååã§ SYSTEM_DEFAULTS ããŒãã«ã® ATTRIBUTE åã«å¯Ÿå¿ããŸã attr-value SQL/MX 屿§å€ãæå®ããæååã§ SYSTEM_DEFAULTS ããŒãã«ã® ATTR_VALUE åã«å¯Ÿå¿ããŸã [ statement-level-hint-list ] hint-list ããŒãã«ã®ãªã¹ããšæã®ãã³ãã§ã statement-hint { join-type-hint } ã§ã join-type-hint 2 ã€ã®è¡ãœãŒã¹ãçµåãããšãã«äœ¿çšããåçš®ã®çµåã¿ã€ãã®å®è£ ã匷å¶ãŸãã¯æé€ãããã³ãã§ã 次ã®ãã¡ã®ããããã§ã { USE_HASHJOIN NO_HASHJOIN USE_MERGEJOIN NO_MERGEJOIN USE_NESTEDJOIN NO_NESTEDJOIN } USE_HASHJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ããã·ã¥çµåã䜿çšããããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããã·ã¥çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããã ãã倧ããªçµåããã¯ããŒã³ãšããã·ã¥çµåãããŸã ãã®ãšã 2 ã€ã®ããŒãã«ã®ãã¡ 1 ã€ãå éšããŒãã«ã« ãã®ä»ãå€éšããŒãã«ãšãªããŸã è¡ãœãŒã¹ãããã·ã¥çµåã䜿çšããŠçµåã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_HASHJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ããã·ã¥çµåã䜿çšããªãããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããã·ã¥çµåãããŸãã å¥ã®è¡ãœãŒã¹ãšã¯ ãã¹ãããçµåãŸãã¯ããŒãžçµåã§çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããããšã¯ãªã ãã倧ããªçµåããã¯ããŒã³ãšããã·ã¥çµåãããããšããããŸãã ãã ã ããã㯠ãã¹ãããçµåãŸãã¯ããŒãžçµåã§çžäºã«çµåãããå¯èœæ§ããããŸã è¡ãœãŒã¹éã®ããã·ã¥çµåãæé€ã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã USE_MERGEJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã 2 ã€ã®è¡ãœãŒã¹éã®çµåã« ããŒãžçµåã䜿çšããããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããŒãžçµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããã ãã倧ããªçµåããã¯ããŒã³ãšããŒãžçµåãããŸã ãã®ãšã 2 ã€ã®ããŒãã«ã®ãã¡ 1 28
ã€ãå éšããŒãã«ã« ãã®ä»ãå€éšããŒãã«ãšãªããŸã è¡ãœãŒã¹ãããŒãžçµåã䜿çšããŠçµåã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_MERGEJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ããŒãžçµåã䜿çšããªãããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããŒãžçµåãããŸãã å¥ã®è¡ãœãŒã¹ãšã¯ ãã¹ãããçµåãŸãã¯ããã·ã¥çµåã§çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããããšã¯ãªã ãã倧ããªçµåããã¯ããŒã³ãšããŒãžçµåãããããšããããŸãã ãã ã ããã㯠ãã¹ãããçµåãŸãã¯ããã·ã¥çµåã§çžäºã«çµåãããå¯èœæ§ããããŸã è¡ãœãŒã¹éã®ããŒãžçµåãæé€ã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã USE_NESTEDJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã 2 ã€ã®è¡ãœãŒã¹éã®çµåã« ãã¹ãããçµåã䜿çšããããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ãå éšããŒãã«ãšã㊠å¥ã®è¡ãœãŒã¹ãšãã¹ãããçµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããã ãã倧ããªçµåããã¯ããŒã³ãšãã¹ãããçµåãããŸã ãã®ãšã 2 ã€ã®ããŒãã«ã®ãã¡ 1 ã€ãå éšããŒãã«ã« ãã®ä»ãå€éšããŒãã«ãšãªããŸã è¡ãœãŒã¹ããã¹ãããçµåã䜿çšããŠçµåã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_NESTEDJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ãã¹ãããçµåã䜿çšããªãããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšãã¹ãããçµåãããŸãã å¥ã®è¡ãœãŒã¹ãšã¯ ããã·ã¥çµåãŸãã¯ããŒãžçµåã§çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããããšã¯ãªã ãã倧ããªçµåããã¯ããŒã³ãšãã¹ãããçµåãããããšããããŸãã ãã ã ããã㯠ããã·ã¥çµåãŸãã¯ããŒãžçµåã§çžäºã«çµåãããå¯èœæ§ããããŸã è¡ãœãŒã¹éã®ãã¹ãããçµåãæé€ã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã table-1, table-2 次ã®ãã¡ã® 1 〠: ãã³ããæå®ããã SQL æã§åç §ãã MX ãŸã㯠MP ããŒãã«ã® éšå修食å å®å šä¿®é£Ÿå ãŸãã¯çžé¢å MP ãšã€ãªã¢ã¹åãå¯èœã§ã table-hint 次ã®ããããã®å€ããšããŸã { access-path-hint cardinality-hint selectivity-hint } access-path-hint SQL æäžã®ããŒãã«åç §çšãã¹ãžã®ã¢ã¯ã»ã¹ã匷å¶ãŸãã¯æé€ãããã³ãã§ã 次ã®ããããã®å€ããšããŸã { BASETABLE table NO_BASETABLE table INDEX table (index-list) NO_INDEX table (index-list) INDEXJOIN table (index-list) NO_INDEXJOIN table (index-list) 29
} BASETABLE SQL æäžã®é¢é£ããŒãã«åç §ã«å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ã匷å¶ããŸã å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ã匷å¶ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_BASETABLE SQL æäžã®é¢é£ããŒãã«åç §ã«å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ã䜿çšããªãããã«ããŸã å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ãæé€ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã INDEX table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã« æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ã匷å¶ããŸã æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ã䜿çšã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã NO_INDEX table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã«ã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ã䜿çšããªãããã«ããŸã ã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ãæé€ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã NO_INDEX ãã³ãã«ã€ã³ããã¯ã¹ã®ãªã¹ããæå®ãããŠããå Žå æå®ããããã¹ãŠã®ã€ã³ããã¯ã¹ã®ã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ãæé€ãããŸã INDEXJOIN table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã« æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ã匷å¶ããŸã ã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ã䜿çšã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã INDEXJOIN ãã³ãã«ã€ã³ããã¯ã¹ã®ãªã¹ããæå®ãããŠããå Žå ãããã®ãã¡æé©ãªã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ãéžæãããŸã NO_INDEXJOIN table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã« æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ã䜿çšããªãããã«ããŸã æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ãæé€ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã NO_INDEXJOIN ãã³ãã«ã€ã³ããã¯ã¹ã®ãªã¹ããæå®ãããŠããå Žå æå®ããããã¹ãŠã®ã€ã³ããã¯ã¹ã®ã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ãæé€ãããŸã Table 次ã®ãã¡ã® 1 〠: ãã³ããæå®ããã SQL æã§åç §ãã MX ãŸã㯠MP ããŒãã«ã® éšå修食å å®å šä¿®é£Ÿå ãŸãã¯çžé¢å MP ãšã€ãªã¢ã¹åãå¯èœã§ã index-list ãŠãŒã¶ãŒäœæãŸãã¯ã·ã¹ãã äœæã®ã€ã³ããã¯ã¹ã®ãªã¹ãã§ã ååšããªãã€ã³ã 30
ãã¯ã¹ ããŒã¿ããªãã€ã³ããã¯ã¹ ãŸãã¯ããŒãã«åç §ã«é¢é£ããªãã€ã³ããã¯ã¹ãæå®ãããå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ããŸã cardinality-hint ãªããã£ãã€ã¶ãŒã« é¢é£ããããŒãã«åç §ã®ã³ã¹ãèšç®ã§ æå®ããè¡ã®ã«ãŒãã£ããªãã£ã䜿çšããããæç€ºããŸã cardinality-value 1~922337203685477580 ã®æŽæ°å€ã§ã ãã®ç¯å²å€ã®å€ã å°æ°ãæå®ãããå Žå ãªããã£ãã€ã¶ãŒã¯ cardinality-hint ãç¡èŠã èŠåãçºè¡ããŸã selectivity-hint ãªããã£ãã€ã¶ãŒã« é¢é£ããããŒãã«åç §ã®ã³ã¹ãèšç®ã§ æå®ããéžææ§ã䜿çšããããæç€ºããŸã selectivity-value 0.0~1.0 ã®å®æ°å€ã§ã 0.0 ããå°ããå€ã 1.0 ãã倧ããå€ãæå®ãããå Žå ãªããã£ãã€ã¶ãŒã¯ selectivity-hint ãç¡èŠã èŠåãçºè¡ããŸã ãªããã£ãã€ã¶ãŒã®ãã³ãã«ã€ããŠã®è©³çŽ°ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã } WHERE CURRENT OF {cursor-name ext-cursor-name åé€ããè¡ã«äœçœ®æå®ãããã«ãŒãœã« ( ãŸãã¯æ¡åŒµã«ãŒãœã« ) ã®ååãæå®ããŸã ãªãŒãã£ãã察象ããŒãã«ãŸãã¯ãã¥ãŒã« cursor-name ãæå®ããå Žå㯠è¡ã® FETCH ãå«ããã©ã³ã¶ã¯ã·ã§ã³å ã§ DELETE ãå®è¡ããå¿ èŠããããŸã ã«ãŒãœã«åãšæ¡åŒµã«ãŒãœã«åã«ã€ããŠã®è©³çŽ°ã¯ DECLARE CURSOR å®£èš (3-22) ããã³ ALLOCATE CURSOR æ (3-3) ãåç §ããŠãã ãã åã蟌㿠SQL ããã°ã©ã ã§ã®æ€çŽ¢ã«ãã DELETE æããã³äœçœ®æå®ã«ãã DELETE æã«ã€ããŠè©³ãã㯠SQL/MX Programming Manual for C and COBOL ãåç §ããŠãã ãã EVERY num ROWS MULTI COMMIT DELETE æäœã®åå¥ã®åãã©ã³ã¶ã¯ã·ã§ã³ã§åé€ãããè¡æ°ãæå®ããŸã num ã¯ãŒããã倧ãã unsigned integer ã§ããå¿ èŠããããŸã num ã®ããã©ã«ãå€ã¯ 500 ã§ã 31
DOWNGRADE ãŠãŒãã£ãªã㣠DOWNGRADE ã«é¢ããçæäºé DOWNGRADE ã®äŸ (2-177) DOWNGRADE 㯠MXCI ããå®è¡ã§ããæ§æããŒã¹ã®ãŠãŒãã£ãªãã£ã§ã DOWNGRADE 㯠ã¡ã¿ããŒã¿ãæ¢åã®ããŒãžã§ã³ããæå®ããäœãããŒãžã§ã³ã«å€æããŸã REPORTONLY ãªãã·ã§ã³ã䜿çšãããš æäœãå®éã«å®è¡ããã« æäœãå®è¡å¯èœãã©ããããã¹ãã§ããŸã SQL/MX ãªãªãŒã¹ 3.2 以éã§ã¯ DOWNGRADE ãŠãŒãã£ãªãã£ã¯ååä»ãã«ã¿ãã° ããã³ ( å¿ èŠã«å¿ã㊠) æå®ããã«ã¿ãã°ã«é¢é£ãããã¹ãŠã®ã«ã¿ãã°ã®ãã¹ãŠã®ã¡ã¿ããŒã¿ãããŠã³ã°ã¬ãŒãã§ããŸã DOWNGRADE ALL METADATA TO VERSION version [ output-spec ] DOWNGRADE ALL METADATA IN CATALOG catalog TO VERSION version [ RESTRICT CASCADE ] [ output-spec ] output-spec is: [ log-to-spec ] [ REPORTONLY ] log-to-spec is: { [ LOG TO ] OUTFILE oss-file [ CLEAR ] LOG TO HOMETERM } catalog version RESTRICT CASCADE oss-file ã¡ã¿ããŒã¿ãããŠã³ã°ã¬ãŒãããã«ã¿ãã°ã® ANSI åãæå®ããŸã catalog ã«ããã©ã«ãã¯ãããŸãã ã³ãã³ãã®ã¿ãŒã²ããããŒãžã§ã³ãæå®ããæå¹ãª SQL/MX ããŒãžã§ã³çªå·ã§ã version ã¯ã³ãã³ãã®åœ±é¿ãåãããã¹ãŠã®ã¹ããŒãã®å®éã®ã¹ããŒãããŒãžã§ã³ããäœãå¿ èŠããããŸã ååä»ãã«ã¿ãã°ã®ã¡ã¿ããŒã¿ã®ã¿ã«ããŠã³ã°ã¬ãŒããå¶éããŸã æå®ããã«ã¿ãã°ã«çŽæ¥ 鿥ã«é¢é£ããå šã«ã¿ãã°ã«ããŠã³ã°ã¬ãŒããæ¡åŒµããŸã ããã©ã«ã㯠RESTRICT ã§ã OSS ãã¡ã€ã«å æ³šèš : DOWNGRADE ãŠãŒãã£ãªãã£ã¯ J06.11 以éã® J ã·ãªãŒãº RVU ããã³ H06.22 以éã® H ã·ãªãŒãº RVU ãå®è¡ããŠããã·ã¹ãã ã§ã®ã¿äœ¿çšã§ããŸã 32
DOWNGRADE ã«é¢ããçæäºé å¹³è¡æ§ TMF ãžã®åœ±é¿ 忣ç°å¢ DOWNGRADE ãŠãŒãã£ãªãã£ã¯å€§éã®ã¡ã¿ããŒã¿ã倿ããŸã ã¢ããªã±ãŒã·ã§ã³ãå®è¡äžã« DOWNGRADE ãŠãŒãã£ãªãã£ãå®è¡ããããšã¯ãå§ãã§ããŸãã DOWNGRADE ãŠãŒãã£ãªãã£ã¯ 圱é¿ãåãããã¹ãŠã®ã«ã¿ãã°ã§æ°èŠã®å®çŸ©ã¹ããŒããäœæããŸã å埩å¯èœæ§ã確ä¿ããããã« ã¢ããªã±ãŒã·ã§ã³ãèµ·åãããåã« ãããã®æ°èŠå®çŸ©ã¹ããŒãã®æ°ãã TMF ãªã³ã©ã€ã³ãã³ããååŸããå¿ èŠããããŸã 忣ç°å¢ã§ DOWNGRADE ã³ãã³ãã䜿çšããã«ã¯ é¢ä¿ããã·ã¹ãã ã SQL/MX ã®åããªãªãŒã¹ãå®è¡ããŠããå¿ èŠããããŸã 33
DROP SEQUENCE ã®æ§æã®èª¬æ sequence ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã® ANSI åãæå®ããŸã RESTRICT ãæå®ã æå®ããå€éšã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒãããªã¬ãŒããåç §ãããå Žå ãšã©ãŒãå ±åãããŸã CASCADE ãæå®ã ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã 1 ã€ä»¥äžã®ããªã¬ãŒããåç §ãããå Žå ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒãšãã¹ãŠã®åç §ããããªã¬ãŒãåé€ãããŸã ããã©ã«ã㯠RESTRICT ã§ã 34
GIVE Object ã«é¢ããçæäºé GIVE TABLE æäœã¯ é¢é£ããã€ã³ããã¯ã¹ ããªã¬ãŒäžæããŒãã« å¶çŽã®æææš©ã倿ŽããŸã AA GIVE VIEW æäœã§ã¯åºç€ãšãªãããŒãã«ã®æææš©ã¯å€æŽãããŸãã GIVE TRIGGER æäœã¯ ã»ãã¥ãªãã£ç®¡çè ã«å¶éãããŠããŸã ã»ãã¥ãªãã£ç®¡çè 㯠ããªã¬ãŒãããŒãã«ã®ãªãŒããŒã«ã®ã¿äžããããšãã§ããŸã ãã®ä»ã®ãŠãŒã¶ãŒã«ã¯äžããããŸãã GIVE TABLE ã¯ããªã¬ãŒã®æææš©ãç§»è¡ããŸãã ã¿ãŒã²ããã®ãªãŒããŒã¯ãããã®ããªã¬ãŒãäœæããæš©éãæã£ãŠããå¿ èŠããããŸã ãªããžã§ã¯ãã®ãªããžã§ã¯ãæ©èœããŒãžã§ã³ (OFV) 㯠ãã®æäœã®å®äºåŸã«ã¹ããŒãã®ãªãŒããŒãšãªããžã§ã¯ãã®ãªãŒããŒãç°ãªãå Žå㯠3100 ã«å¢å ããŸã ãã ã æäœã®å®äºåŸãã¹ããŒããªãŒããŒãšãªããžã§ã¯ããªãŒããŒãåãå Žå OFV ã¯åèšç®ãããŠèšå®ãããŸã 35
INSERT æ INSERT ã«é¢ããçæäºé (2-253) MXCI ã§ã® INSERT ã®äŸ (2-258) C ã§ã® INSERT ã®äŸ (2-263) COBOL ã§ã® INSERT ã®äŸ (2-263) INSERT æã¯ ããŒãã«ãŸãã¯ãã¥ãŒã«è¡ãæ¿å ¥ãã DML æã§ã [ ROWSET FOR INPUT SIZE rowset-size-in ] INSERT INTO table [(target-col-list)] insert-source WITH control-query-default control-list [ statement-level-hint-list ] target-col-list is: colname [,colname]... insert-source is: query-expr [order-by-clause] DEFAULT VALUES query-expr is: non-join-query-expr joined-table non-join-query-expr is: non-join-query-primary query-expr UNION [ALL] query-term query-term is: non-join-query-primary joined-table non-join-query-primary is: simple-table (non-join-query-expr) joined-table is: table-ref [NATURAL] [join-type] JOIN table-ref [join-spec] table-ref CROSS JOIN table-reftable-ref is: table [[AS] corr [(col-expr-list)]] view [[AS] corr [(col-expr-list)]] (query-expr) [AS] corr [(col-expr-list)] joined-table join-type is: INNER LEFT [OUTER] RIGHT [OUTER] join-spec is: ON search-condition rowset-search-condition simple-table is: VALUES (row-value-const) [,(row-value-const)]... VALUES (rowset-value-const ) TABLE table SELECT [ALL DISTINCT] select-list FROM table-ref [,table-ref]... FROM ROWSET [rowset-size ] (:array-name [,:array-name ]...) [WHERE search-condition rowset-search-condition ] [SAMPLE sampling-method] [TRANSPOSE transpose-set [transpose-set]... [KEY BY key-colname]]... [SEQUENCE BY colname [ASC[ENDING] DESC[ENDING]] [,colname [ASC[ENDING] DESC[ENDING]]]...] [GROUP BY {colname colnum} [,{colname colnum}]...] 36
[HAVING search-condition rowset-search-condition ]] [[FOR] access-option ACCESS] [IN {SHARE EXCLUSIVE} MODE] rowset-value-const is: {rowset-expr expr NULL DEFAULT} [,{rowset-expr expr NULL DEFAULT}]... access-option is: READ COMMITTED SERIALIZABLE REPEATABLE READ order-by-clause is: ORDER BY {colname colnum} [ASC[ENDING] DESC[ENDING]] [,{colname colnum} [ASC[ENDING] DESC[ENDING]]]... control-query-default is: CONTROL QUERY DEFAULT control-list is: attribute 'attr-value' attribute 'attr-value' [, control-list]... statement-level-hint-list is: USING <<+ hint-list >> hint-list is: hint [, hint-list] hint is: statement-hint table-hint statement-hint is: join-type-hint table-hint is: access-path-hint cardinality-hint selectivity-hint join-type-hint is: USE_HASHJOIN (table-1 [,table-2]) NO_HASHJOIN (table-1 [,table-2]) USE_MERGEJOIN (table-1 [,table-2]) NO_MERGEJOIN (table-1 [,table-2]) USE_NESTEDJOIN (table-1 [,table-2]) NO_NESTEDJOIN (table-1 [,table-2]) access-path-hint is: BASETABLE table NO_BASETABLE table INDEX table( index-list ) NO_INDEX table( index-list ) INDEXJOIN table( index-list ) NO_INDEXJOIN table( index-list ) index-list is: index [, index]... cardinality-hint is: CARDINALITY table( cardinality-value ) selectivity-hint is: SELECTIVITY table( selectivity-value ) 37
ROWSET FOR INPUT SIZE rowset-size-in table rowset-size-in ã¯ å ¥åè¡ã»ããã®ãµã€ãºãæå®ããããµã€ãºã«å¶éããŸã æå®ãããµã€ãºã¯ è¡ã»ããã«å²ãåœãŠãããŠãããµã€ãºä»¥äžã§ããå¿ èŠããããŸã rowset-size-in 㯠C ã® unsigned short signed short unsigned long ãŸã㯠signed long ã¿ã€ãã®æ£æ°ãªãã©ã« ããã³ COBOL ã®å¯Ÿå¿ããåçãªæ£æ°ãªãã©ã« ( çæ°ãªãã©ã« åçãã©ã¡ãŒã¿ãŒ ãŸãã¯ãã¹ã倿° ) ã§ããå¿ èŠããããŸã rowset-size-in ãæå®ããªãå Žå NonStop SQL/MX ã¯åã蟌㿠SQL ããã°ã©ã ã® SQL Declare Section ã«æå®ãããå²ãåœãŠæžã¿ã®è¡ã»ããã®ãµã€ãºã䜿çšããŸã è¡ãæ¿å ¥ãããŠãŒã¶ãŒããŒãã«ãŸãã¯ãã¥ãŒãæå®ããŸã table ã¯å®ããŒãã«ãŸãã¯æŽæ°å¯èœãªãã¥ãŒã§ããå¿ èŠããããŸã ããŒãã«ãŸãã¯ãã¥ãŒãåç §ããã«ã¯ 次ã®ååã¿ã€ãã®ããããã䜿çšããŸã Guardian ç©çå ANSI è«çå DEFINE å ããŒã¿ããŒã¹ãªããžã§ã¯ãå (6-13) ãåç §ããŠãã ãã (target-col-list) å€ãæ¿å ¥ããããŒãã«ãŸãã¯ãã¥ãŒã®å target-col-list ãæå®ããŸã ã¿ãŒã²ããã®ååã®ããŒã¿ã¿ã€ãã 察å¿ãããœãŒã¹å€ã®ããŒã¿ã¿ã€ããšäºææ§ãããå¿ èŠããããŸã ãªã¹ãå ã§ã®åã¿ãŒã²ããåã®äœçœ®ã¯ é¢é£ãããœãŒã¹å€ãšåãã§ããå¿ èŠããããŸã ãœãŒã¹å€ã®äœçœ®ã¯ ã¯ãšãªåŒ (query-expr) ã®è©äŸ¡ããå°åºãããããŒãã«ã®åã§æ±ºãŸããŸã target-col-list ã« table ã®äžéšã®åããæå®ãããŠããªãå Žå㯠ãªã¹ãã«æå®ãããŠããªãåã«åã®ããã©ã«ãå€ãæ¿å ¥ãããŸã åã®ããã©ã«ãèšå® (6-8) ãåç §ããŠãã ãã target-col-list ãæå®ããªãå Žå㯠ãœãŒã¹ããŒãã«ã®è¡ã®å€ã table ã®ãã¹ãŠã®å (SYSKEY åãé€ã ) ã«æ¿å ¥ãããŸã ãœãŒã¹ããŒãã«ã®åå€ã®é åºã¯ table ã«å¯Ÿã㊠CREATE TABLE ã§æå®ããåã®é åºãšåãã§ããå¿ èŠããããŸã ( ãã®é åºã¯ SELECT * FROM table ã®çµæããŒãã«ã«äžèŠ§è¡šç€ºãããåã®é åºãšåãã§ã ) insert-source table ã®ãã¹ãŠã®å ( ãªãã·ã§ã³ã§æå®ããå ) ã«æ¿å ¥ããå€ã®è¡ insertsource ãæå®ããŸã query-expr target-col-list ã«æå®ãããŠããå ( æå®ãããŠããå Žå ) ãŸã㯠table ã®ãã¹ãŠã®å ( ããã©ã«ã ) ã«æ¿å ¥ããå€ã®è¡ã§æ§æããããœãŒã¹ããŒãã«ãçæãã ã¯ãšãªåŒãæå®ããŸã insert-source ã§è¿ãããè¡ããªãå Žå table ã«è¡ã¯æ¿å ¥ãããŸãã query-expr ã VALUES å¥ã§ã¯ãªãå Žå insert-source 㯠table ãŸã㯠table ã«åºã¥ããã¥ãŒã å®ããŒãã«ãŸã 38
㯠table ã®åºã«ãªã£ãŠãããã¥ãŒãåç §ã§ããŸãã åãªã¹ãã®åæ° ( ããã©ã«ãã§ã¯ table ã®åæ° ) 㯠ã¯ãšãªåŒã®è©äŸ¡ããå°åºããããœãŒã¹ããŒãã«å ã®åæ°ãšçãããªããã°ãªããŸãã ããã« åãªã¹ãã®åå ( ããã©ã«ãã§ã¯ table ã®åå ) ã®ããŒã¿ã¿ã€ã㯠ãœãŒã¹ããŒãã«ã®å¯Ÿå¿ããåã®ããŒã¿ã¿ã€ããšäºææ§ãããå¿ èŠããããŸã VALUES å¥å ã®åäžã®å€ã«ã¯ å€åŒ NULL ãŸã㯠DEFAULT ãæå®ã§ããŸã VALUES å¥å ã« DEFAULT ãæå®ããå Žå æ¿å ¥ãããå€ã¯ã¿ãŒã²ããåã«å®çŸ©ãããŠãã DEFAULT å€ã§ã ãŸã å€åŒã«ãªãã©ã³ããšã㊠DEFAULT ãå«ããããšãã§ããŸã ãã®å Žå æ¿å ¥ãããå€ã¯ DEFAULT å€ã§è©äŸ¡ãããåŒã§ã ããšãã° DEFAULT + 50 ãè¡å€ã³ã³ã¹ãã©ã¯ã¿ãŒå ã®åŒã«æå®ã§ããŸã å€åŒã§ã® DEFAULT ã®äœ¿çšã¯ SQL/MX ã§æ¡åŒµãããæ©èœã§ã NOT NULL ãšå®çŸ©ãããŠããåã« NULL ãæ¿å ¥ããããšããã NO DEFAULT ãšå®çŸ©ãããŠããåã« DEFAULT ãæ¿å ¥ããããšããããããš NonStop SQL/MX ã¯ãšã©ãŒãè¿ããŸã å€åŒã«ã€ããŠã¯ åŒ (6-41) ãåç §ããŠãã ãã query-expr ã®èª¬æã«ã€ããŠã¯ SELECT æ ãåç §ããŠãã ãã rowset-value-const è¡ã»ããå€ã³ã³ã¹ãã©ã¯ã¿ãŒã«ã¯å°ãªããšã 1 ã€ã®è¡ã»ããåŒãå¿ èŠã§ã è¡ã»ããå€ã³ã³ã¹ãã©ã¯ã¿ãŒã§é·ããç°ãªãè¡ã»ãããŸãã¯è¡ã»ãããšã¹ã«ã©ãŒã䜿çšãããŠããå Žåã®æå³ã«ã€ããŠã¯ SQL/MX Programming Manual for C and COBOL ãåç §ããŠãã ãã FROM ROWSET rowset-size è¡ã»ããããå°åºãããããŒãã«ã®ãµã€ãºãæå®ããããµã€ãºã«å¶éããŸã æå®ãããµã€ãºã¯ è¡ã»ããã«å²ãåœãŠãããŠãããµã€ãºä»¥äžã§ããå¿ èŠããããŸã ãµã€ãºãæå®ããå Žå㯠çŽåŸã« ROWSET ããŒã¯ãŒããæå®ããŸã ãµã€ãºã¯ unsigned integer ãŸãã¯å€ã unsigned integer ã§ãããã¹ã倿°ã§ã ãµã€ãºãæå®ããªãå Žå NonStop SQL/MX 㯠SQL Declare Section ã«æå®ãããå²ãåœãŠæžã¿ã®è¡ã»ããã®ãµã€ãºã䜿çšããŸã :array-name [,:array-name]... äžé£ã®ãã¹ã倿°é åãæå®ããŸã å array-name ã¯è¡ã»ããããå°åºãããããŒãã«ã®åã®ããã«äœ¿çšã§ããŸã å array-name ã«ã¯ SQL ããŒã¿ã¿ã€ãã«å¯Ÿå¿ããããŒã¿ã¿ã€ãã®æå¹ãªãã¹ãèšèªã®èå¥åãæå®ã§ããŸã SQL æå ã®å array-name ã®åã«ã³ãã³ (:) ãä»ããŸã è¡ã»ããããã³ãã¹ã倿°é åã®è©³çŽ°ã¯ SQL/MX Programming Manual for C and COBOL ãåç §ããŠãã ãã ORDER BY {colname colnum [ASC[ENDING] DESC[ENDING]] [,{colname colnum} [ASC[ENDING] DESC[ENDING]]]... query-expr ã®è©äŸ¡ããå°åºããããœãŒã¹ããŒãã«ã®è¡ã®é åºãš ãã®çµæãšããŠã® table ãžã®æ¿å ¥é åºã決å®ããŸã ã¿ãŒã²ããããŒãã«ã«è¡ãæ¿å ¥ããåã« 39
ã¯ãšãªåŒãè©äŸ¡ãããŠãœãŒã¹ããŒãã«ãé åºä»ããããŸã ããŒé ã®ç©çç·šæã®ããŒãã«ã«æ¿å ¥ããå Žå ãã®ãªãã·ã§ã³ã«ã¯å¹æããªãããšã«æ³šæããŠãã ãã colname ã¯ãšãªåŒã§åç §ãã ãªãã·ã§ã³ã§ããŒãã« ãã¥ãŒ ãŸãã¯çžé¢åã§ä¿®é£ŸãããããŒãã«ãŸãã¯ãã¥ãŒã®åã®åå colname ( ããšãã° CUSTOMER.CITY) ã§ã åã«å¥ã®ååã®ãšã€ãªã¢ã¹ãããå Žå㯠ãã®ãšã€ãªã¢ã¹åã䜿çšããå¿ èŠããããŸã colnum ã¯ãšãªåŒã®éžæãªã¹ãã®äœçœ® colnum ã§åãæå®ããŸã colnum ã䜿çšã㊠ããŒãã«ããã¥ãŒä»¥å€ã® ã¯ãšãªåŒããå°åºãããããŒãã«ã®åãªã©ã® ååã®ãªãåãåç §ããŸã ASC DESC ãœãŒãé ãæå®ããŸã ããã©ã«ã㯠ASC ã§ã ãã«ãå«ããããšãã§ããåã§ãœãŒã¹ããŒãã«ãäžŠã¹æ¿ããå Žå ãã«ã¯ äºãã«çãããã«ä»¥å€ãã倧ãããšèŠãªãããŸã DEFAULT VALUES ã¯ãšãªåŒã VALUES (DEFAULT,...) ã®åœ¢åŒã§æå®ããŸã å DEFAULT ã®å€ã¯ table ã®ããŒãã«èšè¿°åã«å«ããããŠãã colname ã®åèšè¿°åã«å®çŸ©ãããŠããããã©ã«ãå€ã§ã åããã©ã«ãå€ããã®åã«æ¿å ¥ãã㊠æ°ããè¡ã圢æããŸã DEFAULT VALUES ãæå®ããå Žå åãªã¹ãã¯æå®ã§ããŸãã DEFAULT VALUES ã䜿çšã§ããã®ã¯ table ã®ãã¹ãŠåã«ããã©ã«ãå€ãããå Žåã®ã¿ã§ã [FOR] access-option ACCESS SELECT æã§ããã¯ãšãªåŒã®è©äŸ¡ããå°åºããããœãŒã¹ããŒãã«å ã® ã¢ã¯ã»ã¹ãããŠè¿ãããããŒã¿ã«å¿ èŠãªã¢ã¯ã»ã¹ãªãã·ã§ã³ãæå®ããŸã ããŒã¿äžè²«æ§ãšã¢ã¯ã»ã¹ãªãã·ã§ã³ (1-8) ãåç §ããŠãã ãã READ COMMITTED ã¯ãšãªåŒã®è©äŸ¡ããå°åºããããœãŒã¹ããŒãã«å ã®ã¢ã¯ã»ã¹ãããŠè¿ãããããŒã¿ã ã³ããããããè¡ããååŸãããå¿ èŠãããããšãæå®ããŸã SERIALIZABLE REPEATABLE READ INSERT æãšåæã«å®è¡ããã ( åãããŒã¿ã«ã¢ã¯ã»ã¹ãã ) ããã»ã¹ãããå Žå åæã«ã§ã¯ãªãé£ç¶çã«å®è¡ããããã®ããã« INSERT æãšãã®ä»ã®ããã»ã¹ãå®è¡ããããšãæå®ããŸã ããã©ã«ãã®ã¢ã¯ã»ã¹ãªãã·ã§ã³ã¯ å«ãŸããŠãããã©ã³ã¶ã¯ã·ã§ã³ã®åé¢ã¬ãã«ã§ãã åé¢ã¬ãã« (10-55) ã«æå®ãããã«ãŒã«ã«åŸã£ãŠæ±ºå®ãããŸã 40
IN {SHARE EXCLUSIVE} MODE SELECT æã«ãã£ãŠ ãŸã㯠SELECT æã§ããã¯ãšãªåŒã®è©äŸ¡ããå°åºããã FROM å¥ã®ããŒãã«åç §ã«ãã£ãŠæå®ãããããŒã¿ã«ã¢ã¯ã»ã¹ããå Žå ããã³ã€ã³ããã¯ã¹ ( ããå Žå ) ãžã®ã¢ã¯ã»ã¹ã«ãã£ãŠããŒãã«ãžã®ã¢ã¯ã»ã¹ãçºçããå Žåã« SHARE ããã¯ãŸã㯠EXCLUSIVE ããã¯ã䜿çšãããã©ãããæå®ããŸã attribute SQL/MX 屿§åã衚ãæååã§ SYSTEM_DEFAULTS ããŒãã«ã® ATTRIBUTE åã«å¯Ÿå¿ããŸã attr-value SQL/MX 屿§å€ãæå®ããæååã§ SYSTEM_DEFAULTS ããŒãã«ã® ATTR_VALUE åã«å¯Ÿå¿ããŸã å€ã¯ æ°å€ã§ãã£ãŠãåŒçšæååãšããŠæå®ããå¿ èŠããããŸã table-hint 次ã®ããããã®å€ããšããŸã { access-path-hint cardinality-hint selectivityhint } access-path-hint SQL æäžã®ããŒãã«åç §çšãã¹ãžã®ã¢ã¯ã»ã¹ã匷å¶ãŸãã¯æé€ãããã³ãã§ã 次ã®ããããã®å€ããšããŸã { BASETABLE table NO_BASETABLE table INDEX table (index-list) NO_INDEX table (index-list) INDEXJOIN table (index-list) NO_INDEXJOIN table (index-list) } BASETABLE SQL æäžã®é¢é£ããŒãã«åç §ã«å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ã匷å¶ããŸã å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ã匷å¶ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_BASETABLE SQL æäžã®é¢é£ããŒãã«åç §ã«å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ã䜿çšããªãããã«ããŸã å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ãæé€ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã INDEX table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã« æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ã匷å¶ããŸã æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ã䜿çšã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã NO_INDEX table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã«ã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ã䜿çšããªãããã«ããŸã ã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ãæé€ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠå 41
ãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã NO_INDEX ãã³ãã«ã€ã³ããã¯ã¹ã®ãªã¹ããæå®ãããŠããå Žå æå®ããããã¹ãŠã®ã€ã³ããã¯ã¹ã®ã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ãæé€ãããŸã INDEXJOIN table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã« æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ã匷å¶ããŸã ã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ã䜿çšã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã INDEXJOIN ãã³ãã«ã€ã³ããã¯ã¹ã®ãªã¹ããæå®ãããŠããå Žå ãããã®ãã¡æé©ãªã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ãéžæãããŸã NO_INDEXJOIN table(index-list) Table SQL æäžã®é¢é£ããŒãã«åç §ã« æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ã䜿çšããªãããã«ããŸã æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ãæé€ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã NO_INDEX ãã³ãã«ã€ã³ããã¯ã¹ã®ãªã¹ããæå®ãããŠããå Žå æå®ããããã¹ãŠã®ã€ã³ããã¯ã¹ã®ã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ãæé€ãããŸã 次ã®ãã¡ã® 1 〠: ãã³ããæå®ããã SQL æã§åç §ãã MX ãŸã㯠MP ããŒãã«ã® éšå修食å å®å šä¿®é£Ÿå ãŸãã¯çžé¢å MP ãšã€ãªã¢ã¹åãå¯èœã§ã index-list ãŠãŒã¶ãŒäœæãŸãã¯ã·ã¹ãã äœæã®ã€ã³ããã¯ã¹ã®ãªã¹ãã§ã ååšããªãã€ã³ããã¯ã¹ ããŒã¿ããªãã€ã³ããã¯ã¹ ãŸãã¯ããŒãã«åç §ã«é¢é£ããªãã€ã³ããã¯ã¹ãæå®ãããå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ããŸã cardinality-hint ãªããã£ãã€ã¶ãŒã« é¢é£ããããŒãã«åç §ã®ã³ã¹ãèšç®ã§ æå®ããè¡ã®ã«ãŒãã£ããªãã£ã䜿çšããããæç€ºããŸã cardinality-value 1~922337203685477580 ã®æŽæ°å€ã§ã ãã®ç¯å²å€ã®å€ã å°æ°ãæå®ãããå Žå ãªããã£ãã€ã¶ãŒã¯ cardinality-hint ãç¡èŠã èŠåãçºè¡ããŸã selectivity-hint ãªããã£ãã€ã¶ãŒã« é¢é£ããããŒãã«åç §ã®ã³ã¹ãèšç®ã§ æå®ããéžææ§ã䜿çšããããæç€ºããŸã selectivity-value 0.0~1.0 ã®å®æ°å€ã§ã 0.0 ããå°ããå€ã 1.0 ãã倧ããå€ãæå®ãããå Žå ãªããã£ãã€ã¶ãŒã¯ selectivity-hint ãç¡èŠã èŠåãçºè¡ããŸã hint-list ããŒãã«ã®ãªã¹ããšæã®ãã³ãã§ã 42
statement-hint { join-type-hint } ã§ã join-type-hint 2 ã€ã®è¡ãœãŒã¹ãçµåãããšãã«äœ¿çšããåçš®ã®çµåã¿ã€ãã®å®è£ ã匷å¶ãŸãã¯æé€ãããã³ãã§ã 次ã®ãã¡ã®ããããã§ã { USE_HASHJOIN NO_HASHJOIN USE_MERGEJOIN NO_MERGEJOIN USE_NESTEDJOIN NO_NESTEDJOIN } USE_HASHJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ããã·ã¥çµåã䜿çšããããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããã·ã¥çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããã ãã倧ããªçµåããã¯ããŒã³ãšããã·ã¥çµåãããŸã ãã®ãšã 2 ã€ã®ããŒãã«ã®ãã¡ 1 ã€ãå éšããŒãã«ã« ãã®ä»ãå€éšããŒãã«ãšãªããŸã è¡ãœãŒã¹ãããã·ã¥çµåã䜿çšããŠçµåã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_HASHJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ããã·ã¥çµåã䜿çšããªãããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããã·ã¥çµåãããŸãã å¥ã®è¡ãœãŒã¹ãšã¯ ãã¹ãããçµåãŸãã¯ããŒãžçµåã§çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããããšã¯ãªã ãã倧ããªçµåããã¯ããŒã³ãšããã·ã¥çµåãããããšããããŸãã ãã ã ããã㯠ãã¹ãããçµåãŸãã¯ããŒãžçµåã§çžäºã«çµåãããå¯èœæ§ããããŸã è¡ãœãŒã¹éã®ããã·ã¥çµåãæé€ã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã USE_MERGEJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã 2 ã€ã®è¡ãœãŒã¹éã®çµåã« ããŒãžçµåã䜿çšããããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããŒãžçµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããã ãã倧ããªçµåããã¯ããŒã³ãšããŒãžçµåãããŸã ãã®ãšã 2 ã€ã®ããŒãã«ã®ãã¡ 1 ã€ãå éšããŒãã«ã« ãã®ä»ãå€éšããŒãã«ãšãªããŸã è¡ãœãŒã¹ãããŒãžçµåã䜿çšããŠçµåã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_MERGEJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ããŒãžçµåã䜿çšããªãããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããŒãžçµåãããŸãã å¥ã®è¡ãœãŒã¹ãšã¯ ãã¹ãããçµåãŸãã¯ããã·ã¥çµåã§çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç § 43
ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããããšã¯ãªã ãã倧ããªçµåããã¯ããŒã³ãšããŒãžçµåãããããšããããŸãã ãã ã ããã㯠ãã¹ãããçµåãŸãã¯ããã·ã¥çµåã§çžäºã«çµåãããå¯èœæ§ããããŸã è¡ãœãŒã¹éã®ããŒãžçµåãæé€ã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã USE_NESTEDJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã 2 ã€ã®è¡ãœãŒã¹éã®çµåã« ãã¹ãããçµåã䜿çšããããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ãå éšããŒãã«ãšã㊠å¥ã®è¡ãœãŒã¹ãšãã¹ãããçµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããã ãã倧ããªçµåããã¯ããŒã³ãšãã¹ãããçµåãããŸã ãã®ãšã 2 ã€ã®ããŒãã«ã®ãã¡ 1 ã€ãå éšããŒãã«ã« ãã®ä»ãå€éšããŒãã«ãšãªããŸã è¡ãœãŒã¹ããã¹ãããçµåã䜿çšããŠçµåã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_NESTEDJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ãã¹ãããçµåã䜿çšããªãããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšãã¹ãããçµåãããŸãã å¥ã®è¡ãœãŒã¹ãšã¯ ããã·ã¥çµåãŸãã¯ããŒãžçµåã§çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããããšã¯ãªã ãã倧ããªçµåããã¯ããŒã³ãšãã¹ãããçµåãããããšããããŸãã ãã ã ããã㯠ããã·ã¥çµåãŸãã¯ããŒãžçµåã§çžäºã«çµåãããå¯èœæ§ããããŸã è¡ãœãŒã¹éã®ãã¹ãããçµåãæé€ã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã table-1, table-2 次ã®ãã¡ã® 1 〠: ãã³ããæå®ããã SQL æã§åç §ãã MX ãŸã㯠MP ããŒãã«ã® éšå修食å å®å šä¿®é£Ÿå ãŸãã¯çžé¢å MP ãšã€ãªã¢ã¹åãå¯èœã§ã 44
ANSI åã䜿çšããããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ã®åããŒã MODIFY ã䜿çšã㊠SQL/MX ã®ããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ã®ãã¹ãŠã®ããŒãã£ã·ã§ã³ã«å¯Ÿã åäžã®ã³ãã³ãã§ ANSI åã䜿çšã FUR RELOAD ãšç䟡ãªã³ãã³ããå®è¡ããŸã ããã«ãã ãã£ã¹ã¯äœ¿çšéãš CPU 䜿çšçã管çããããã®åçš®ã®å¶åŸ¡ãªãã·ã§ã³ãæäŸãããŸã MODIFY ã® REORG 圢åŒã¯æ¬¡ã®ãšããã§ã MODIFY { TABLE INDEX } ansi-name REORG [ reorg-command reorg-options ] [ log-to-spec ] reorg-command is: STATUS SUSPEND ACTIVATE CANCEL reorg-options is: reorg-option [, reorg-option ]... reorg-option is: CONCURRENCY { OFF number MAX } SLACK percentage DSLACK percentage ISLACK percentage RATE percentage PRIORITY number log-to-spec is: {[LOG TO] OUTFILE oss-file [CLEAR] LOG TO HOMETERM } ansi-name ããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ã® SQL/MX ANSI åãèå¥ããŸã éåžžã®ã«ã¿ãã°ãšã¹ããŒãã®ããã©ã«ããé©çšãããŸã reorg-command æ³šèš : reorg-command ãæå®ãããªãå Žå æ°èŠã« REORG æäœãéå§ãããŸã reorg-command 㯠以äžã®ããããã®åœ¢åŒã§ã STATUS å®è¡äžã® REORG æäœã®ã¹ããŒã¿ã¹ãã¬ããŒãããŸã LOG TO ãªãã·ã§ã³ãæå®ããå Žå STATUS ã³ãã³ãã®åºå㯠æå®ã«åŸã oss-file ãŸãã¯ããŒã ã¿ãŒããã«ã«æžã蟌ãŸããŸã ããã§ãªãå Žå åºåã¯ã¬ããŒããããŸãã SUSPEND ãã§ã«éå§ãããåããŒãæäœãäžæåæ¢ãã ACTIVATE ãã§ã«äžæåæ¢ãããåããŒãæäœãåéãã CANCEL ãã§ã«éå§ãŸãã¯äžæåæ¢ãã REORG æäœããã£ã³ã»ã«ããŸã 45
reorg-options 以äžã® reorg-options ã 1 ã€ä»¥äžæå®ã§ããŸã CONCURRENCY { OFF number MAX } 䞊ååããŒãã®äžŠè¡æ§ã¬ãã«ä»¥äžã®åŒæ°ã®ãã¡ 1 ã€ãæå®ã§ããŸã OFF äžåºŠã«ã¯ 1 ã€ã®ããŒãã£ã·ã§ã³ãåããŒãããŸã CONCURRENCY OFF 㯠CONCURRENCY 1 ãšç䟡ã§ã ããã©ã«ãå€ã¯ OFF ã§ã number åæã«åããŒãããããŒãã£ã·ã§ã³ã®æ°ãæå®ããŸã å€ã¯ æå¹ãªæ£ã®æ°ã§ããå¿ èŠããããŸã æå®ãããå€ã ããŒãã£ã·ã§ã³ããå€ãå Žå å€ã¯ããŒãã«ãã€ã³ããã¯ã¹ã®ããŒãã£ã·ã§ã³ã®æ°ãŸã§åæžãããŸã MAX ãã¹ãŠã®ããŒãã£ã·ã§ã³ãåæã«åããŒãããŸã CONCURRENCY MAX ã¯é¢ä¿ããããŒãã£ã·ã§ã³ã®æ°ãšç䟡ã§ã SLACK percentage ã€ã³ããã¯ã¹ãããã¯ããã³ããŒã¿ãããã¯çšã®äž¡æ¹ã®ã¹ã©ãã¯ã¹ããŒã¹ã®ããŒã»ã³ããŒãž DSLACK percentage ããŒã¿ãããã¯çšã®ã¹ã©ãã¯ã¹ããŒã¹ã®ããŒã»ã³ããŒãž ISLACK percentage ã€ã³ããã¯ã¹ãããã¯çšã®ã¹ã©ãã¯ã¹ããŒã¹ã®ããŒã»ã³ããŒãž RATE percentage CPU 䜿çšéãå¶åŸ¡ããã¬ãŒã SLACK DSLACK ISLACK ããã³ RATE ã«ã€ããŠã®è©³çŽ°ã¯ FUP Reference Manual ãåç §ããŠãã ãã PRIORITY number number 㯠1~199 ã®å€ã§ ORSERV ããã»ã¹ã®åªå 床ãæå®ããŸã ããã©ã«ãã®åªå 床㯠ORSERV ããã»ã¹ãç£åºããããã»ã¹ã§ãã MXCMP ãšåãã§ã æ³šèš : reorg-options 㯠STATUS ACTIVATE ããã³ SUSPEND ã³ãã³ãã§ã¯é©çšãããŸãã log-to-spec LOG TO ãªãã·ã§ã³ãæå®ããå Žå ã³ãã³ãã«ãã£ãŠé²æç¶æ³ã®ãã°ãæå®ãã oss-file ãŸãã¯ããŒã ã¿ãŒããã«ã«æžã蟌ãŸããŸã CLEAR ãªãã·ã§ã³ã䜿çšã oss-file ãæ¢åã®ãã£ã¹ã¯ãã¡ã€ã«ã®å Žå oss-file ã¯ãã®ã³ã°ãéå§ãããåã«ã¯ãªã¢ãããŸã ãã以å€ã®å Žå åºå㯠oss-file ã®æ¢åã®ã³ã³ãã³ãã®åŸãã«è¿œå ãããŸã 46
ã¬ã³ãžåå²ãããããŒãã«ãšã€ã³ããã¯ã¹ã®ããŒãã£ã·ã§ã³ã®ç®¡ç SQL/MX ã®ããŒãã«ãšã€ã³ããã¯ã¹ã®ã¬ã³ãžããŒãã£ã·ã§ã³ã管çããã«ã¯ MODIFY ã䜿çšããŸã ããŒãã«ãšã€ã³ããã¯ã¹ã¯ ãããã®é¢ä¿ã«ããããã å¥ã ã«ç®¡çããå¿ èŠããããŸã ãªãã©ã€ã³ãšãªã³ã©ã€ã³ã®äž¡æ¹ã®æäœããµããŒããããŠããŸã ãªã³ã©ã€ã³æäœã®è©³çްãšå¶éã«ã€ããŠã¯ MODIFY ã«é¢ããçæäºé (2-285) ãåç §ããŠãã ãã ã¬ã³ãžåå²ãããããŒãã«ãšã€ã³ããã¯ã¹ã«å¯Ÿãã MODIFY ã®åœ¢åŒã¯æ¬¡ã®ãšããã§ã MODIFY { TABLE INDEX } [[catalog.]schema.] object { drop add move repartition } drop is: DROP [PARTITION] WHERE partition-identification add is: ADD [PARTITION] WHERE add-move-boundary-range [TO] LOCATION new-partition [NAME new-partition-name] [partition-size] [RECLAIM [ optional-reclaim-option-list ] NO RECLAIM] [with-shared-access] move is one of: MOVE [PARTITION] [WHERE partition-identification] [TO] LOCATION new-partition [NAME new-partition-name] [partition-size] [RECLAIM [ optional-reclaim-option-list ] NO RECLAIM] [with-shared-access] MOVE [PARTITION] WHERE {add-move-boundary-range partition-identification} [TO] {PREVIOUS NEXT} PARTITION [RECLAIM [ optional-reclaim-option-list ] NO RECLAIM] [with-shared-access] repartition is: REPARTITION LIKE model-object [with-shared-access] partition-identification is: LOCATION [\node.]$volume[.subvolume.file-name] NAME partition-name [KEY=] {FIRST LAST} PARTITION [KEY=] key-value add-move-boundary-range is: [KEY=] FIRST KEY UPTO [KEY=] key-value [KEY=] key-value [THRU [KEY=] LAST KEY] key-value is: VALUE (column-value [,column-value]...) partition-size is: partition-extent-size [ MAXEXTENTS num-extents ] partition-extent-size is: EXTENT { ext-size } {(pri-ext-size, sec-ext-size) } optional-reclaim-option-list is: ( reclaim-option [, reclaim-option ] ) reclaim-option is: RATE percentage PRIORITY gpri with-shared-access is: 47
WITH SHARED ACCESS [commit-options] commit-options is: COMMIT [ WORK ] [ commit-option ] [ on-error ] commit-option is: { WHEN READY } { AFTER time } { BEFORE time } on-error is: ONCOMMITERROR { commit-options } { ROLLBACK [ WORK ] } [[catalog.]schema.]object ã¬ã³ãžåå²ããããªããžã§ã¯ãã®ååã§ã ã¹ããŒãåãšã«ã¿ãã°åãæå®ããªãå Žå NonStop SQL/MX 㯠MXCI ã»ãã·ã§ã³ã®ããã©ã«ãã®ã«ã¿ãã°ãšã¹ããŒãã䜿çšããŸã object 㯠TABLE ããŒã¯ãŒãã INDEX ããŒã¯ãŒããã«å¿ã㊠ããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ã§ã DROP [PARTITION] WHERE partition-identification ã¬ã³ãžããŒãã£ã·ã§ã³ãåé€ããèŠæ±ã§ã æå®ãããããŒãã£ã·ã§ã³ã¯ç©ºã§ããå¿ èŠããããŸã partition-identification ããŒãã£ã·ã§ã³ãèšè¿°ããŸã LOCATION [\node.]$volume [.subvolume.file-name ] [KEY=] {FIRST LAST} PARTITION [KEY=] key-value ç§»åãŸãã¯åé€å¯Ÿè±¡ã®ããŒãã£ã·ã§ã³ã®å Žæ ãŸãã¯ããŒãã£ã·ã§ãã³ã°ã㌠(FIRST KEY) å€ key-value ã§ã ããŒãã£ã·ã§ã³ãåé€ãããš æåã®ããŒãã£ã·ã§ã³ãåé€ãããå Žåãé€ã ãã®ããŒç¯å²ãåã®ããŒãã£ã·ã§ã³ã«ããŒãžãããŸã æåã®ããŒãã£ã·ã§ã³ãåé€ãããš ãã®ããŒç¯å²ã次ã®ããŒãã£ã·ã§ã³ã«ããŒãžãããŸã [\node.]$volume [\node.]$volume.subvolume.file-name ããŒãã£ã·ã§ã³ã®ç©ççãªå Žæã§ã ãã¡ã€ã«åãæå®ããªãå Žå æå®ãããããŒã¿ãœãŒã¹ã«å¯ŸããŠååšã§ããã®ã¯ 1 ã€ã®ããŒãã£ã·ã§ã³ã®ã¿ã§ã \node 㯠ããŒã«ã«ããŒããŸãã¯ãªã¢ãŒãããŒãã®ããããã«ã§ããŸã \node ãæå®ããªãå Žå ããã©ã«ã㯠=_DEFAULTS å®çŸ©ã«æå®ããã Guardian ã·ã¹ãã ã§ã ADD [PARTITION] WHERE add-move-boundary-range [TO] LOCATION new-partition [NAME new-partition-name ] [partition-size ] æ¢åã®ããŒãã£ã·ã§ã³ã®ããŒã¿ã®ç¯å² ( æåã®éšåãŸãã¯æåŸã®éšåã®ãããã ) ãåå²ããŠãã ãããæ°ããããŒãã£ã·ã§ã³ã«ç§»åããèŠæ±ãæå®ããŸã ããŒã¿ã¯è¿œå ãããç¯å²å ã«ååšã§ããŸã ããŒã¿ã®ç¯å²ãæ¢åã®ããŒãã£ã·ã§ã³ã®å é ããå§ãŸãå Žå æäœã¯å é éšåã®åå²ã§ã ç¯å²ãããŒãã£ã·ã§ã³ã®æ«å°Ÿã§çµããå Žå æäœã¯æ«å°Ÿéšåã®åå²ã§ã 48
add-move-boundary-range å¢çç¯å²ã§ã [KEY=] FIRST KEY UPTO [KEY=] key-value [KEY=] key-value [THRU [KEY=] LAST KEY] åå²ããŠããæ°ããããŒãã£ã·ã§ã³ã«è¿œå ããããŒãã£ã·ã§ã³ã®ããŒãã£ã·ã§ãã³ã°ç¯å² add-move-boundary-range ãæå®ããŸã FIRST KEY ( éå§ããŒå€ ) ããçŸåšã®ããŒãã£ã·ã§ã³ã®ããŒå€ key-value ( ãã®å€ã¯å«ãŸãªã ) ãŸãã¯çŸåšã®ããŒãã£ã·ã§ã³ã®ããŒå€ key-value ãã LAST KEY ( çµäºããŒå€ ) ãæå®ããŠæ¢åã®ããŒãã£ã·ã§ã³ã®æåãŸãã¯æåŸãåå²ããããšã§ 远å ããæ°ããããŒãã£ã·ã§ã³ã®ããŒãã£ã·ã§ãã³ã°ç¯å²ãæå®ã§ããŸã THRU [KEY=] LAST KEY ã¯ãªãã·ã§ã³ã§ã key-value ãæå®ããå Žå㯠æå®ããåå€ãããŒãã£ã·ã§ã³ãé©åã«ç¹å®ã§ããã®ã§ããã° æ«å°Ÿã®åã®å€ãçç¥ã§ããŸã column-value ãçç¥ãããš MODIFY 㯠ãã®åã«å«ãŸããŠããããŒã¿ãæé ãéé ãã«å¿ã㊠ããã©ã«ãå€ ( 察å¿ããããŒãã£ã·ã§ãã³ã°ããŒåã®æäœå€ãæé«å€ã®ãããã ) ã䜿çšããŸã [TO] LOCATION new-partition æ°ããããŒãã£ã·ã§ã³ã®å Žæãæå®ããŸã new-partition æ°ããããŒãã£ã·ã§ã³ã®ãã£ã¹ã¯ããªã¥ãŒã ãŸã㯠Guardian ãã¡ã€ã«ãæå®ããŸã ãã£ã¹ã¯ããªã¥ãŒã æ§æã䜿çšããå Žå MODIFY ã¯ãã¡ã€ã«åã®æ«å°ŸéšåãçæããŸã æ°ããããŒãã£ã·ã§ã³ã¯ ããŒã«ã«ã·ã¹ãã ãŸãã¯ãªã¢ãŒãã·ã¹ãã ã®ã©ã¡ãã«ãæå®ã§ããŸã new-partition-name ããŒãã£ã·ã§ã³ã® SQL èå¥åã§ã MOVE [PARTITION] [WHERE partition-identification ] [TO] LOCATION new-partition [NAME new-partition-name ] [partition-size ] æ¢åã®ããŒãã£ã·ã§ã³ãæ°ããå Žæã«ç§»åããèŠæ±ã§ã partition-identification 㯠ããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ã«ããŒãã£ã·ã§ã³ã 1 ã€ãããªãå Žåã®ã¿ã®ãªãã·ã§ã³ã§ã MOVE [PARTITION] WHERE {partition-identification add-move-boundary-range } [TO] {PREVIOUS NEXT} PARTITION æ¢åã®ããŒãã£ã·ã§ã³ã®äžéšãŸãã¯ãã¹ãŠã飿¥ããæ¢åã®ããŒãã£ã·ã§ã³ã«ããŒãžããèŠæ±ã§ã partition-identification å¥ã䜿çšããŠããŒãã£ã·ã§ã³å šäœãæå®ã§ããŸã partition-identification ããŒãã£ã·ã§ã³ãèšè¿°ããŸã 49
LOCATION [\node.]$volume [.subvolume.file-name ] NAME partition-name [KEY=] {FIRST LAST} PARTITION [KEY=] key-value 倿Žå¯Ÿè±¡ã®ããŒãã£ã·ã§ã³ã®å Žæ ãŸãã¯ããŒãã£ã·ã§ãã³ã°ã㌠(FIRST KEY) å€ key-value ã§ã ããŒãã£ã·ã§ã³ããã©ã€ããªããŒãã£ã·ã§ã³ã®å Žå㯠FIRST PARTITION å¥ã䜿çšããŠããŒãã£ã·ã§ã³ãæå®ããããšãã§ããŸã ããŒãã£ã·ã§ã³ãããŒãã«ã®ããŒãã£ã·ã§ã³ã®ãªã¹ãã§äžçªå³ã®ããŒãã£ã·ã§ã³ã®å Žå㯠LAST PARTITION å¥ã䜿çšã§ããŸã ãªããžã§ã¯ãã®å¯äžã®ããŒãã£ã·ã§ã³ã®å Žå㯠ã©ã¡ããã®å¥ã䜿çšããŠããŒãã£ã·ã§ã³ãæå®ã§ããŸã [\node.]$volume [\node.]$volume.subvolume.file-name ããŒãã£ã·ã§ã³ã®ç©ççãªå Žæã§ã ãã¡ã€ã«åãæå®ããªãå Žå æå®ãããããŒã¿ãœãŒã¹ã«å¯ŸããŠååšã§ããã®ã¯ 1 ã€ã®ããŒãã£ã·ã§ã³ã®ã¿ã§ã \node 㯠ããŒã«ã«ããŒããŸãã¯ãªã¢ãŒãããŒãã®ããããã«ã§ããŸã \node ãæå®ããªãå Žå ããã©ã«ã㯠=_DEFAULTS å®çŸ©ã«æå®ããã Guardian ã·ã¹ãã ã§ã add-move-boundary-range å¥ã䜿çšãããš åå²ããããŒãã£ã·ã§ã³ã®ããŒã¿ã®ç¯å² ( æåã®éšåãŸãã¯æåŸã®éšåã®ãããã ) ãæå®ããŠãã 飿¥ããæ¢åã®ããŒãã£ã·ã§ã³ã«ããŒãžã§ããŸã ããŒã¿ã®ç¯å²ãæ¢åã®ããŒãã£ã·ã§ã³ã®å é ããå§ãŸãå Žå æäœã¯å é éšåã®ããŒãžã§ã å é éšåã®ããŒãžæäœã§æå®ã§ããã®ã¯ TO PREVIOUS PARTITION å¥ã®ã¿ã§ã åå²ãããããŒãã£ã·ã§ã³ããã©ã€ããªããŒãã£ã·ã§ã³ã«ããããšã¯ã§ããŸãã ããŒã¿ã®ç¯å²ãããŒãã£ã·ã§ã³ã®æ«å°Ÿã§çµããå Žå æäœã¯æ«å°Ÿéšåã®ããŒãžã§ã æå®ã§ããã®ã¯ TO NEXT PARTITION å¥ã®ã¿ã§ã åå²ãããããŒãã£ã·ã§ã³ãæåŸã®ããŒãã£ã·ã§ã³ ( ãªã¹ãå ã®äžçªå³ã®ããŒãã£ã·ã§ã³ ) ã«ããããšã¯ã§ããŸãã partition-size æ°ããããŒãã£ã·ã§ã³ã®ãµã€ãºã§ã partition-extent-size [ MAXEXTENTS num-extents ] æ°ããããŒãã£ã·ã§ã³ã®ãšã¯ã¹ãã³ããµã€ãºã§ã ãã©ã€ããªããã³ã»ã«ã³ããªãšã¯ã¹ãã³ãã®ãµã€ãºãš ãšã¯ã¹ãã³ãã®æå€§æ°ãæå®ã§ããŸã MAXEXTENTS ãæå®ããªãå Žå MODIFY ã¯ãœãŒã¹ããŒãã£ã·ã§ã³ã®å€ã䜿çšããŸã partition-extent-size æ°ããããŒãã£ã·ã§ã³ã®ãšã¯ã¹ãã³ããµã€ãºã§ã EXTENT { ext-size } { (pri-ext-size, sec-ext-size ) } ext-size ã¯ç¬Šå·ãªãã®æŽæ°å€ã§ã æ°ããããŒãã£ã·ã§ã³ã®ãã©ã€ããªãšã»ã«ã³ããªã®äž¡æ¹ã®ãšã¯ã¹ãã³ãã®ãµã€ãºãšããŠæå®ã§ããŸã ãã©ã€ããªãšã¯ã¹ãã³ããšã»ã«ã³ããªãšã¯ã¹ãã³ãã®ãµã€ãºã¯å¥ã ã«æå®ã§ããŸã EXTENT ãæå®ããªãå Žå MODIFY ã¯ãœãŒã¹ããŒãã£ã·ã§ã³ã®ãšã¯ã¹ãã³ããµã€ãºå€ 50
ã䜿çšããŸã EXTENT (9-6) ããã³ MAXEXTENTS (9-7) ãåç §ããŠãã ãã REPARTITION LIKE model-object ããŒãã«ãã€ã³ããã¯ã¹ãå®å šã«ããŒãã£ã·ã§ãã³ã°ããèŠæ±ã§ã ãã®æ©èœã¯ ã¹ããŒãããŒãžã§ã³ 3400 以äžã®ãªããžã§ã¯ãã§äœ¿çšã§ããŸã ã³ããããã§ãŒãºäžã«ãã¹ãŠã®ãªãªãžãã«ããŒãã£ã·ã§ã³ã¯åé€ããããã ããŒãã£ã·ã§ãã³ã°å®äºæã«ç©ºãé åã«åèŠæ±ãåããŒãã¯äžèŠã§ã model-object æãŸããããŒãã£ã·ã§ã³ã¬ã€ã¢ãŠããæã€ã¢ãã«ãªããžã§ã¯ãã® ANSI åã§ã éåžžã®ã«ã¿ãã°ãšã¹ããŒãåã®ããã©ã«ããé©çšãããŸã REPARTITION æäœã®åŸ æäœå¯Ÿè±¡ã ã£ããªããžã§ã¯ãã¯ã¢ãã«ãªããžã§ã¯ãã®ããŒãã£ã·ã§ã³ã®ã»ãããæã¡ãŸã REPARTITION æäœã®çµæãšã㊠ã¢ãã«ãªããžã§ã¯ãèªèº«ã¯åé€ãããŸã RECLAIM [optional-reclaim-option-list] NO RECLAIM SQL/MX ã ORSERV ããã»ã¹ãèªåçã«èµ·åã㊠圱é¿ãåããããŒãã£ã·ã§ã³ã®æªäœ¿çšã®ç©ºãé åãåèŠæ±ãããã©ãã (RECLAIM) ãŸãã¯ãŠãŒã¶ãŒã FUP RELOAD æäœãæåã§å®è¡ãããã©ãã (NO RECLAIM) ãæå®ããŸã æªäœ¿çšã®ç©ºãé åãå«ãŸããŠããããŒãã£ã·ã§ã³ã«ã¯ ãã¡ã€ã«ã©ãã«ã« UNRECLAIMEDSPACE (F) ãã©ã°ãèšå®ãããŠããŸã ãã®ãã©ã°ã¯ç©ºãé åãåèŠæ±ããããŸã§èšå®ããããŸãŸã«ãªã ãªããžã§ã¯ãã«å¯ŸããŠæ°ãã MODIFY DUP ãŸã㯠BACKUP æäœã®å®è¡ã詊ã¿ããš ãšã©ãŒ 20290 ( æäœãé²è¡äž ) ã§å€±æããŸã ãªããžã§ã¯ãã«å¯Ÿã㊠DML æäœãå®è¡ããããšã¯ã§ããŸãã ä»ã®ãã¹ãŠã®æäœã¯å€±æããŸã çç¥ããå Žå ã¬ã³ãžåå²ããããªããžã§ã¯ãã®ããã©ã«ã㯠RECLAIM ã§ã ãã®ãªãã·ã§ã³ã¯ MODIFY ã空ãé åã®åèŠæ±ãå¿ èŠãšããªãå Žåã¯ç¡èŠãããŸã optional-reclaim-option-list (reclaim-option [,reclaim-option]) RECLAIM ãªãã·ã§ã³ã«ãã ãªãã·ã§ã³ã§ reclaim-options ã® RATE ãš PRIORITY ãæå®ã§ããŸã ããã«ãã åããŒãã®ã¬ãŒããšåªå 床ãå¶åŸ¡ã§ããŸã RATE percentage 1~100 ã®å€ åèŠæ±åäœã®åŠççãæå®ããŸã ããã©ã«ãå€ã¯ 100 ã§ã PRIORITY gpri 1~199 ã®å€ åèŠæ±åäœãéå§ããã NSK åªå 床ãæå®ããŸã ããã©ã«ãå€ã¯ MODIFY ã³ãã³ããå®è¡ãããåªå 床ãšåãã§ã WITH SHARED ACCESS [commit-options] æäœããªã³ã©ã€ã³æäœã§ããããšãæå®ããŸã commit-options ãæå®ããªãå Žå ããã©ã«ã㯠COMMIT WHEN READY ONCOMMITERROR ROLLBACK WORK ã§ã COMMIT [ WORK ] [ commit-option ] [ on-error ] 51
ã³ããããã§ãŒãºãçºçãããæå»ãæå®ããŸã commit-option å¥ã¯ 次ã®ãªãã·ã§ã³ãæå®ããŸã WHEN AFTER AFTER ã³ããããã§ãŒãºãå¯èœãªéãæ©ãæå»ã«çºçã ã³ããããã§ãŒãºã time ããåŸã«çºçãããŸã ã³ããããã§ãŒãºã time ããåã«çºçãããŸã time ã¯åŒçšç¬Šã§å²ãã æ¥ä»æå»ãªãã©ã«ã§ã on-error å¥ã¯ ã³ããããã§ãŒãºãå詊è¡ã§ãããšã©ãŒã§å€±æããå Žåã«äœãè¡ãããããæå®ããŸã çç¥ããå Žåã®çµæã¯ ONCOMMITERROR ROLLBACK WORK ãæå®ããå Žåãšåãã§ã æå»ããã§ã«éããŠããå Žå MODIFY ã¯ãšã©ãŒãè¿ããŸã ROLLBACK [WORK] æäœãçµäºããå¿ èŠãããããšãæå®ããŸã çµæã¯ CANCEL ãªãã·ã§ã³ãæå®ããŠå¥ã® RECOVER ã³ãã³ããçºè¡ããå Žåãšåãã§ã ROLLBACK WORK ã¯æåŸã® <on-error> å¥ã«ããæå®ã§ããªãå ŽåããããŸã ONCOMMITERROR commit-options ã³ããããã§ãŒãºäžã«å詊è¡ã§ãããšã©ãŒãçºçããå Žåã« SQL/MX ãåãã¹ãã¢ã¯ã·ã§ã³ãæå®ããŸã å詊è¡ã§ãããšã©ãŒã«ã¯ ãã¡ã€ã«ã䜿çšäž ããã¯èŠæ±ã®ã¿ã€ã ã¢ãŠã ãªãœãŒã¹ã䜿çšã§ããªã ããã³ BEFORE ãŸã㯠AFTER æéæ ããªã ãªã©ãå«ãŸããŸã å詊è¡ã§ããªããšã©ãŒã®å Žåã¯åžžã« ONCOMMITERROR ãªãã·ã§ã³ã§ã®æå®ã«ããããã SQL/MX ã¯ããŒã¿ããŒã¹ãžã®å€æŽããã£ã³ã»ã«ã æäœãçµäºããŸã ONCOMMITERROR 㯠COMMIT ãªãã·ã§ã³å ã«åºçŸããŠå¥ã® COMMIT ãªãã·ã§ã³ãæå®ãããã ååž°çã§ã 1 ã€ã®æã« 3 ã€ãŸã§ã® COMMIT ãªãã·ã§ã³ãæå®ã§ã 4 ã€ä»¥äžæå®ãããšãšã©ãŒãçºçããŸã 52
ããã·ã¥åå²ãããããŒãã«ãšã€ã³ããã¯ã¹ã®ããŒãã£ã·ã§ã³ã®ç®¡ç SQL/MX ã®ããŒãã«ãšã€ã³ããã¯ã¹ã®ããã·ã¥ããŒãã£ã·ã§ã³ã管çããã«ã¯ MODIFY ã䜿çšããŸã åé€ã§ããã®ã¯æåŸã®ããŒãã£ã·ã§ã³ã ãã§ã ããŒãã«ãšã€ã³ããã¯ã¹ã¯ ãããã®é¢ä¿ã«ããããã å¥ã ã«ç®¡çããå¿ èŠããããŸã ããã·ã¥åå²ãããããŒãã«ãšã€ã³ããã¯ã¹ã«å¯Ÿãã MODIFY ã®åœ¢åŒã¯æ¬¡ã®ãšããã§ã MODIFY {TABLE INDEX} [[catalog.]schema.]object {drop move add repartition} drop is: DROP [PARTITION] WHERE partition-identification [RECLAIM [ optional-reclaim-option-list ] NO RECLAIM] [with-shared-access] move is: MOVE [PARTITION] [WHERE partition-identification] [TO] LOCATION new-partition [NAME new-partition-name] [partition-size] [RECLAIM [ optional-reclaim-option-list ] NO RECLAIM] with-shared-access] add is: ADD [PARTITION] [TO] LOCATION new-partition [NAME new-partition-name] [partition-size] [RECLAIM [ optional-reclaim-option-list ] NO RECLAIM] [with-shared-access] repartition is: REPARTITION LIKE model-object [with-shared-access] partition-identification is: LOCATION [\node.]$volume[.subvolume.file-name] NAME partition-name {FIRST LAST} PARTITION [KEY=] VALUE(partition-number) new-partition is: [\node.]$volume[.subvolume.file-name] partition-size is: partition-extent-size [ MAXEXTENTS num-extents ] partition-extent-size is: EXTENT { ext-size } {(pri-ext-size, sec-ext-size) } optional-reclaim-option-list is: ( reclaim-option [, reclaim-option ] ) reclaim-option is:rate percentage PRIORITY gpri <with-shared-access> is: WITH SHARED ACCESS [commit-options] commit-options is: COMMIT [ WORK ] [ commit-option ] [ on-error ] commit-option is: { WHEN READY } { AFTER time } { BEFORE time } on-error is: ONCOMMITERROR { commit-options } 53
{ ROLLBACK [ WORK ] } [[catalog.]schema.]object ãªããžã§ã¯ãã®ååã§ã ã¹ããŒãåãšã«ã¿ãã°åãæå®ããªãå Žå MODIFY 㯠MXCI ã»ãã·ã§ã³ã®çŸåšã®ããã©ã«ãã®ã¹ããŒããšã«ã¿ãã°ã䜿çšããŸã object 㯠TABLE ããŒã¯ãŒãã INDEX ããŒã¯ãŒããã«å¿ã㊠ããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ã§ã DROP [PARTITION] WHERE partition-identification ããã·ã¥ããŒãã£ã·ã§ã³ãåé€ããŸã æå®ããããŒãã£ã·ã§ã³ã¯æåŸã®ããŒãã£ã·ã§ã³ ( ããŒãã£ã·ã§ã³é åã®äžçªå³ã®ããŒãã£ã·ã§ã³ ) ã§ããå¿ èŠããããŸã partition-identification ããŒãã£ã·ã§ã³ãèšè¿°ããŸã LOCATION [\node.]$volume [.subvolume.file-name ] NAME partition-name [KEY=] {FIRST LAST} PARTITION [KEY=] VALUE(partition-number ) åé€ããããŒãã£ã·ã§ã³ã®å Žæ ãŸãã¯ããŒãã£ã·ã§ã³ã®ããŒãã£ã·ã§ãã³ã°ã㌠(FIRST KEY) å€ (key-value) ã§ã LOCATION å¥ã䜿çšããå Žå㯠ããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ã®æåŸã®ããŒãã£ã·ã§ã³ãç¹å®ããå¿ èŠããããŸã partition-number ã䜿çšããå Žå㯠0 ãã n-1 (n ã¯ããŒãã£ã·ã§ã³ã®æ° ) ã®ç¯å²ã®ç¬Šå·ãªãæŽæ°ã§æå®ããå¿ èŠããããŸã VALUE(0) ã¯æåã®ããŒãã£ã·ã§ã³ã§ VALUE(1) ã¯æåã®ããŒãã£ã·ã§ã³ã«é£æ¥ããããŒãã£ã·ã§ã³ãšããããã«ç¶ããŸã VALUE(n-1) ã¯æåŸã®ããŒãã£ã·ã§ã³ã衚ããŸã ããã·ã¥ããŒãã£ã·ã§ã³ãåé€ãããš ãã®ããŒãã£ã·ã§ã³ã®ããŒã¿ã¯æ®ãã®ããŒãã£ã·ã§ã³ã«ååé ãããŸã [\node.]$volume [\node.]$volume.subvolume.file-name ããŒãã£ã·ã§ã³ã®ç©ççãªå Žæã§ã ãã¡ã€ã«åãæå®ããªãå Žå æå®ãããããŒã¿ãœãŒã¹ã«å¯ŸããŠååšã§ããã®ã¯ 1 ã€ã®ããŒãã£ã·ã§ã³ã®ã¿ã§ã \node 㯠ããŒã«ã«ããŒããŸãã¯ãªã¢ãŒãããŒãã®ããããã«ã§ããŸã \node ãæå®ããªãå Žå ããã©ã«ã㯠=_DEFAULTS å®çŸ©ã«æå®ããã Guardian ã·ã¹ãã ã§ã MOVE [PARTITION] [WHERE partition-identification ] [TO] LOCATION new-partition [NAME new-partition-name ] [partition-size ] æ¢åã®ããã·ã¥ããŒãã£ã·ã§ã³ãæ°ããå Žæã«ç§»åããŸã ãªãã·ã§ã³ã® partition-size å¥ã䜿çšã㊠æ°ããããŒãã£ã·ã§ã³ã®ãµã€ãºãå®çŸ©ã§ããŸã ãã以å€ã®å Žå㯠ãã©ã€ããªããŒãã£ã·ã§ã³ã®å€ãé©çšãããŸã partition-identification 㯠ãªããžã§ã¯ãã®ããŒãã£ã·ã§ã³ã 1 ã€ã ãã®å Žåã®ã¿ã®ãªãã·ã§ã³ã§ã 54
partition-identification ããŒãã£ã·ã§ã³ãèšè¿°ããŸã LOCATION [\node.]$volume [.subvolume.file-name ] NAME partition-name [KEY=] {FIRST LAST} PARTITION [KEY=] VALUE(partition-number ) ç§»åããããŒãã£ã·ã§ã³ã®å Žæ ãŸãã¯ããŒãã£ã·ã§ã³ã®ããŒãã£ã·ã§ãã³ã°ã㌠(FIRST KEY) å€ (key-value) ã§ã partition-number ã䜿çšããå Žå㯠0 ãã n-1 (n ã¯ããŒãã£ã·ã§ã³ã®æ° ) ã®ç¯å²å ã§æå®ããå¿ èŠããããŸã VALUE(0) ã¯æåã®ããŒãã£ã·ã§ã³ã§ VALUE(1) ã¯æåã®ããŒãã£ã·ã§ã³ã«é£æ¥ããããŒãã£ã·ã§ã³ãšããããã«ç¶ããŸã VALUE(n-1) ã¯æåŸã®ããŒãã£ã·ã§ã³ã衚ããŸã [\node.]$volume [\node.]$volume.subvolume.file-name ããŒãã£ã·ã§ã³ã®ç©ççãªå Žæã§ã ãã¡ã€ã«åãæå®ããªãå Žå æå®ãããããŒã¿ãœãŒã¹ã«å¯ŸããŠååšã§ããã®ã¯ 1 ã€ã®ããŒãã£ã·ã§ã³ã®ã¿ã§ã \node 㯠ããŒã«ã«ããŒããŸãã¯ãªã¢ãŒãããŒãã®ããããã«ã§ããŸã \node ãæå®ããªãå Žå ããã©ã«ã㯠=_DEFAULTS å®çŸ©ã«æå®ããã Guardian ã·ã¹ãã ã§ã [TO] LOCATION new-partition æ°ããããŒãã£ã·ã§ã³ã®å Žæãæå®ããŸã new-partition æ°ããããŒãã£ã·ã§ã³ã®ãã£ã¹ã¯ããªã¥ãŒã ãŸã㯠Guardian ãã¡ã€ã«ã§ã ãã£ã¹ã¯ããªã¥ãŒã æ§æã䜿çšããå Žå MODIFY ã¯ãã¡ã€ã«åã®æ«å°ŸéšåãçæããŸã æ°ããããŒãã£ã·ã§ã³ã¯ ããŒã«ã«ã·ã¹ãã ãŸãã¯ãªã¢ãŒãã·ã¹ãã ã®ã©ã¡ãã«ãæå®ã§ããŸã new-partition-name æ°ããããŒãã£ã·ã§ã³ã® SQL èå¥åã§ã partition-size æ°ããããŒãã£ã·ã§ã³ã®ãµã€ãºã§ã partition-extent-size [ MAXEXTENTS num-extents ] æ°ããããŒãã£ã·ã§ã³ã®ãµã€ãºã§ã ãã©ã€ããªããã³ã»ã«ã³ããªãšã¯ã¹ãã³ãã®ãµã€ãºãš ãšã¯ã¹ãã³ãã®æå€§æ°ãæå®ã§ããŸã MAXEXTENTS ãæå®ããªãå Žå MODIFY ã¯ãã¹ãŠã®ããŒãã£ã·ã§ã³ããã§ãã¯ã ãœãŒã¹ããŒãã£ã·ã§ã³ã®å€ã䜿çšããŸã partition-extent-size æ°ããããŒãã£ã·ã§ã³ã®ãšã¯ã¹ãã³ããµã€ãºã§ã EXTENT { ext-size } { (pri-ext-size, sec-ext-size ) } ext-size ã¯ç¬Šå·ãªãã®æŽæ°å€ã§ã æ°ããããŒãã£ã·ã§ã³ã®ãã©ã€ããªãšã»ã« 55
ã³ããªã®äž¡æ¹ã®ãšã¯ã¹ãã³ãã®ãµã€ãºãšããŠæå®ã§ããŸã ãã©ã€ããªãšã¯ã¹ãã³ããšã»ã«ã³ããªãšã¯ã¹ãã³ãã®ãµã€ãºã¯å¥ã ã«æå®ã§ããŸã EXTENT ãæå®ããªãå Žå MODIFY ã¯ãœãŒã¹ããŒãã£ã·ã§ã³ã®ãšã¯ã¹ãã³ããµã€ãºå€ã䜿çšããŸã EXTENT (9-6) ããã³ MAXEXTENTS (9-7) ãåç §ããŠãã ãã ADD [PARTITION] [TO] LOCATION new-partition [partition-size ] ããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ã«ããã·ã¥ããŒãã£ã·ã§ã³ã远å ããŸã [TO] LOCATION new-partition æ°ããããŒãã£ã·ã§ã³ã®å Žæãæå®ããŸã new-partition æ°ããããŒãã£ã·ã§ã³ã®ãã£ã¹ã¯ããªã¥ãŒã ãŸã㯠Guardian ãã¡ã€ã«ã§ã ãã£ã¹ã¯ããªã¥ãŒã æ§æã䜿çšããå Žå MODIFY ã¯ãã¡ã€ã«åã®æ«å°ŸéšåãçæããŸã æ°ããããŒãã£ã·ã§ã³ã¯ ããŒã«ã«ã·ã¹ãã ãŸãã¯ãªã¢ãŒãã·ã¹ãã ã®ã©ã¡ãã«ãæå®ã§ããŸã æ°ããããŒãã£ã·ã§ã³ã¯ããŒãã«ãŸãã¯ã€ã³ããã¯ã¹ã®æåŸã®ããŒãã£ã·ã§ã³ã«ãªããŸã new-partition-name æ°ããããŒãã£ã·ã§ã³ã® SQL èå¥åã§ã partition-size æ°ããããŒãã£ã·ã§ã³ã®ãµã€ãºã§ã partition-extent-size [ MAXEXTENTS num-extents ] æ°ããããŒãã£ã·ã§ã³ã®ãµã€ãºã§ã ãã©ã€ããªããã³ã»ã«ã³ããªãšã¯ã¹ãã³ãã®ãµã€ãºãš ãšã¯ã¹ãã³ãã®æå€§æ°ãæå®ã§ããŸã MAXEXTENTS ãæå®ããªãå Žå MODIFY 㯠ãã©ã€ã㪠ã»ã«ã³ã㪠ããã³æå€§ãšã¯ã¹ãã³ãã®å€ã®çµã¿åããã䜿çšã㊠å¯èœãªæã倧ããæå€§ãšã¯ã¹ãã³ããµã€ãºã䜿çšããŸã partition-extent-size æ°ããããŒãã£ã·ã§ã³ã®ãšã¯ã¹ãã³ããµã€ãºã§ã EXTENT { ext-size } { (pri-ext-size, sec-ext-size ) } ext-size ã¯ç¬Šå·ãªãã®æŽæ°å€ã§ã æ°ããããŒãã£ã·ã§ã³ã®ãã©ã€ããªãšã»ã«ã³ããªã®äž¡æ¹ã®ãšã¯ã¹ãã³ãã®ãµã€ãºãšããŠæå®ã§ããŸã ãã©ã€ããªãšã¯ã¹ãã³ããšã»ã«ã³ããªãšã¯ã¹ãã³ãã®ãµã€ãºã¯å¥ã ã«æå®ã§ããŸã EXTENT ãæå®ããªãå Žå MODIFY 㯠ãã©ã€ã㪠ã»ã«ã³ã㪠ããã³æå€§ãšã¯ã¹ãã³ãã®å€ã®çµã¿åããã䜿çšã㊠å¯èœãªæã倧ãããšã¯ã¹ãã³ããµã€ãºã䜿çšããŸã EXTENT (9-6) ããã³ MAXEXTENTS (9-7) ãåç §ããŠãã ãã ããã·ã¥ããŒãã£ã·ã§ã³ã远å ãããš æ¢åã®ããŒãã£ã·ã§ã³ã®ããŒã¿ã®ãµãã»ãããæ°ããããŒãã£ã·ã§ã³ã«ååé ãããŸã 56
REPARTITION LIKE model-object ããŒãã«ãã€ã³ããã¯ã¹ãå®å šã«ããŒãã£ã·ã§ãã³ã°ããèŠæ±ã§ã ãã®æ©èœã¯ ã¹ããŒãããŒãžã§ã³ 3400 以äžã®ãªããžã§ã¯ãã§äœ¿çšã§ããŸã ã³ããããã§ãŒãºäžã«ãã¹ãŠã®ãªãªãžãã«ããŒãã£ã·ã§ã³ã¯åé€ããããã ããŒãã£ã·ã§ãã³ã°å®äºæã«ç©ºãé åã«åèŠæ±ãåããŒãã¯äžèŠã§ã model-object æãŸããããŒãã£ã·ã§ã³ã¬ã€ã¢ãŠããæã€ã¢ãã«ãªããžã§ã¯ãã® ANSI åã§ã éåžžã®ã«ã¿ãã°ãšã¹ããŒãåã®ããã©ã«ããé©çšãããŸã REPARTITION æäœã®åŸ æäœå¯Ÿè±¡ã ã£ããªããžã§ã¯ãã¯ã¢ãã«ãªããžã§ã¯ãã®ããŒãã£ã·ã§ã³ã®ã»ãããæã¡ãŸã REPARTITION æäœã®çµæãšã㊠ã¢ãã«ãªããžã§ã¯ãèªèº«ã¯åé€ãããŸã RECLAIM [optional-reclaim-option-list] NO RECLAIM SQL/MX ã ORSERV ããã»ã¹ãèªåçã«èµ·åã㊠圱é¿ãåããããŒãã£ã·ã§ã³ã®æªäœ¿çšã®ç©ºãé åãåèŠæ±ãããã©ãã (RECLAIM) ãŸãã¯ãŠãŒã¶ãŒã FUP RELOAD æäœãæåã§å®è¡ãããã©ãã (NO RECLAIM) ãæå®ããŸã æªäœ¿çšã®ç©ºãé åãå«ãŸããŠããããŒãã£ã·ã§ã³ã«ã¯ ãã¡ã€ã«ã©ãã«ã« UNRECLAIMEDSPACE (F) ãã©ã°ãèšå®ãããŠããŸã ãã®ãã©ã°ã¯ç©ºãé åãåèŠæ±ããããŸã§èšå®ããããŸãŸã«ãªã ãªããžã§ã¯ãã«å¯ŸããŠæ°ãã MODIFY DUP ãŸã㯠BACKUP æäœã®å®è¡ã詊ã¿ããš ãšã©ãŒ 20290 ( æäœãé²è¡äž ) ã§å€±æããŸã ãªããžã§ã¯ãã«å¯Ÿã㊠DML æäœãå®è¡ããããšã¯ã§ããŸãã ä»ã®ãã¹ãŠã®æäœã¯å€±æããŸã çç¥ããå Žå ã¬ã³ãžåå²ããããªããžã§ã¯ãã®ããã©ã«ã㯠RECLAIM ã§ã ãã®ãªãã·ã§ã³ã¯ MODIFY ã空ãé åã®åèŠæ±ãå¿ èŠãšããªãå Žåã¯ç¡èŠãããŸã optional-reclaim-option-list (reclaim-option [, reclaim-option]) RECLAIM ãªãã·ã§ã³ã«ãã ãªãã·ã§ã³ã§ reclaim-options ã® RATE ãš PRIORITY ãæå®ã§ããŸã ããã«ãã åããŒãã®ã¬ãŒããšåªå 床ãå¶åŸ¡ã§ããŸã RATE percentage 1~100 ã®å€ åèŠæ±åäœã®åŠççãæå®ããŸã ããã©ã«ãå€ã¯ 100 ã§ã PRIORITY gpri 1~199 ã®å€ åèŠæ±åäœãéå§ããã NSK åªå 床ãæå®ããŸã ããã©ã«ãå€ã¯ MODIFY ã³ãã³ããå®è¡ãããåªå 床ãšåãã§ã WITH SHARED ACCESS [commit-options] æäœããªã³ã©ã€ã³æäœã§ããããšãæå®ããŸã commit-options ãçç¥ããå Žåã®çµæã¯ COMMIT WHEN READY TIMEOUT DEFAULT ONCOMMITERROR ROLLBACK WORK ãæå®ããå Žåãšåãã§ã COMMIT [ WORK ] [ commit-option ] [ on-error ] ã³ããããã§ãŒãºãçºçãããæå»ãæå®ããŸã commit-option å¥ã¯ 次 57
ã®ãªãã·ã§ã³ãæå®ããŸã WHEN READY 㯠ã³ããããã§ãŒãºãå¯èœãªéãæ©ãæå»ã«çºçãããããšãæå®ããŸã AFTER time 㯠ã³ããããã§ãŒãºãæå®ããã time ããåŸã«çºçãããããšãæå®ããŸã BEFORE time 㯠ã³ããããã§ãŒãºãæå®ããã time ããåã«çºçãããããšãæå®ããŸã on-error å¥ã¯ ã³ããããã§ãŒãºãå詊è¡ã§ãããšã©ãŒã§å€±æããå Žåã«äœãè¡ãããããæå®ããŸã çç¥ããå Žåã®çµæã¯ TIMEOUT DEFAULT ONCOMMITERROR ROLLBACK WORK ãæå®ããå Žåãšåãã§ã time ã¯æ¥ä»æå»å€ã§ã time ã®äŸ :'2005-02-16 14:00:00' ROLLBACK [WORK] æäœãçµäºããå¿ èŠãããããšãæå®ããŸã çµæã¯ CANCEL ãªãã·ã§ã³ãæå®ããŠå¥ã® RECOVER ã³ãã³ããçºè¡ããå Žåãšåãã§ã ROLLBACK WORK ã¯æåŸã® on-error å¥ã«ããæå®ã§ããŸãã ONCOMMITERROR commit-options ã³ããããã§ãŒãºäžã«å詊è¡ã§ãããšã©ãŒãçºçããå Žåã« SQL/MX ãåãã¹ãã¢ã¯ã·ã§ã³ãæå®ããŸã å詊è¡ã§ãããšã©ãŒã«ã¯ ãã¡ã€ã«ã䜿çšäž ããã¯èŠæ±ã®ã¿ã€ã ã¢ãŠã ãªãœãŒã¹ã䜿çšã§ããªã ããã³ BEFORE/AFTER æéæ ããªã ãªã©ãå«ãŸããŸã å詊è¡ã§ããªããšã©ãŒã®å Žåã¯åžžã« ONCOMMITERROR ãªãã·ã§ã³ã§ã®æå®ã«ããããã SQL/MX ã¯ããŒã¿ããŒã¹ãžã®å€æŽããã£ã³ã»ã«ã æäœãçµäºããŸã ONCOMMITERROR 㯠COMMIT ãªãã·ã§ã³å ã«åºçŸããŠå¥ã® COMMIT ãªãã·ã§ã³ãæå®ãããã ååž°çã§ã 1 ã€ã®æã« 3 ã€ãŸã§ã® COMMIT ãªãã·ã§ã³ãæå®ã§ã 4 ã€ä»¥äžæå®ãããšãšã©ãŒãçºçããŸã 58
ãªã³ã©ã€ã³ã®ããŒãã£ã·ã§ã³ç®¡ç MODIFY 㯠ã¬ã³ãžåå²ãŸãã¯ããã·ã¥åå²ãããããŒãã«ãã€ã³ããã¯ã¹ã«å¯Ÿãã以äžã®æäœã«ã€ã㊠ãªã³ã©ã€ã³ã®ããŒãã£ã·ã§ã³ç®¡çããµããŒãããŸã æäœäžã§ã 察象ã®ããŒãã«ãã€ã³ããã¯ã¹ã«å¯Ÿããã¢ããªã±ãŒã·ã§ã³ã®èªã¿åã æžã蟌ã¿ãå¯èœã§ã 远å ( ã¬ã³ãžåå²ããã³ããã·ã¥åå² ) æ°èŠã®ããŒãã£ã·ã§ã³ã远å ã 1 ã€ä»¥äžã®æ¢åã®ããŒãã£ã·ã§ã³ããæ¡ä»¶ãæºããè¡ãæ°ããããŒãã£ã·ã§ã³ãžç§»åããŸã ç§»å ( ã¬ã³ãžåå²ããã³ããã·ã¥åå² ) ããŒãã£ã·ã§ã³å šäœãæ°ããå Žæã«ç§»åããŸã åé€ ( ããã·ã¥åå²ã®ã¿ ) åé€ããããŒãã£ã·ã§ã³ã®è¡ã æ®ãããŒãã£ã·ã§ã³ã«ååé ããŠãã ããŒãã£ã·ã§ã³ãåé€ããŸã æåŸã®ããŒãã£ã·ã§ã³ã®ã¿ãåé€ã§ããŸã å¢çã®ç§»å ( ã¬ã³ãžåå²ã®ã¿ ) 飿¥ããããŒãã£ã·ã§ã³éã® first-key( éå§ã㌠) ã®å¢çãç§»åããŸã æäœã®äžéšãšããŠæ¡ä»¶ãæºããè¡ãç§»åãããŸã ããŒãž ( ã¬ã³ãžåå²ã®ã¿ ) ããŒãã£ã·ã§ã³å šäœãé£ã®ããŒãã£ã·ã§ã³ã«ããŒãžããŸã æäœã®äžéšãšããŠæ¡ä»¶ãæºããè¡ãç§»åãããŸã ååå² ( ã¬ã³ãžåå²ããã³ããã·ã¥åå² ) ããŒãã«ãã€ã³ããã¯ã¹çšã®ããŒãã£ã·ã§ã³ã»ããå šäœã ã¢ãã«ãªããžã§ã¯ã ã䜿çšããŠè¿°ã¹ãããŒãã£ã·ã§ã³ã»ããã«çœ®ãæããŸã æäœã®äžéšãšã㊠ãã¹ãŠã®è¡ãç§»åãããŸã æäœã®çµæãšããŠã¢ãã«ãªããžã§ã¯ãã¯åé€ãããŸã ãªã³ã©ã€ã³ MODIFY 㯠ããã·ã¥åå²ããã³ã¬ã³ãžåå²äž¡æ¹ã®ããŒãã«ãã€ã³ããã¯ã¹ã«å¯Ÿãããã¹ãŠã®ã¿ã€ãã®ããŒãã£ã·ã§ãã³ã°ã㌠( ãã«ã¯ã©ã¹ã¿ãªã³ã°ã㌠ã¯ã©ã¹ã¿ãªã³ã°ããŒã®ãã¬ãã£ãã¯ã¹ åãé¢ãããã㌠) ããµããŒãããŸã ãªãã©ã€ã³ã®ããŒãã£ã·ã§ã³ç®¡ç MODIFY 㯠ã¬ã³ãžåå²ãŸãã¯ããã·ã¥åå²ãããããŒãã«ãã€ã³ããã¯ã¹ã«å¯Ÿãã以äžã®æäœã«ã€ã㊠ãªãã©ã€ã³ã®ããŒãã£ã·ã§ã³ç®¡çããµããŒãããŸã æäœäžã§ã 察象ã®ããŒãã«ãã€ã³ããã¯ã¹ã«å¯Ÿããã¢ããªã±ãŒã·ã§ã³ã®èªã¿åããå¯èœã§ãã æžã蟌ã¿ã¯ã§ããŸãã 远å ( ã¬ã³ãžåå²ããã³ããã·ã¥åå² ) æ°èŠã®ããŒãã£ã·ã§ã³ã远å ã 1 ã€ä»¥äžã®æ¢åã®ããŒãã£ã·ã§ã³ããæ¡ä»¶ãæºããè¡ãæ°ããããŒãã£ã·ã§ã³ãžç§»åããŸã ç§»å ( ã¬ã³ãžåå²ããã³ããã·ã¥åå² ) ããŒãã£ã·ã§ã³å šäœãæ°ããå Žæã«ç§»åããŸã åé€ ( ããã·ã¥åå²ã®ã¿ ) åé€ããããŒãã£ã·ã§ã³ã®è¡ã æ®ãããŒãã£ã·ã§ã³ã«ååé ããŠãã ããŒãã£ã·ã§ã³ãåé€ããŸã æåŸã®ããŒãã£ã·ã§ã³ã®ã¿ãåé€ã§ããŸã åé€ ( ã¬ã³ãžåå²ã®ã¿ ) - ã¬ã³ãžåå²ãããããŒãã«ãã€ã³ããã¯ã¹ãã 空ã®ããŒãã£ã·ã§ã³ãåé€ããŸã å¢çã®ç§»å ( ã¬ã³ãžåå²ã®ã¿ ) 飿¥ããããŒãã£ã·ã§ã³éã® first-key( éå§ã㌠) ã®å¢çãç§»åããŸã æäœã®äžéšãšããŠæ¡ä»¶ãæºããè¡ãç§»åãããŸã ããŒãž ( ã¬ã³ãžåå²ã®ã¿ ) ããŒãã£ã·ã§ã³å šäœãé£ã®ããŒãã£ã·ã§ã³ã«ããŒãžããŸã æäœã®äžéšãšããŠæ¡ä»¶ãæºããè¡ãç§»åãããŸã ååå² ( ã¬ã³ãžåå²ããã³ããã·ã¥åå² ) ããŒãã«ãã€ã³ããã¯ã¹çšã®ããŒãã£ã·ã§ã³ã»ããå šäœã ã¢ãã«ãªããžã§ã¯ã ã䜿çšããŠè¿°ã¹ãããŒãã£ã·ã§ã³ã»ããã«çœ®ãæããŸã æäœã®äžéšãšã㊠ãã¹ãŠã®è¡ãç§»åãããŸã æäœã®çµæãšããŠã¢ãã«ãªããžã§ã¯ãã¯åé€ãããŸã 59
ãªãã©ã€ã³ MODIFY 㯠ããã·ã¥åå²ããã³ã¬ã³ãžåå²äž¡æ¹ã®ããŒãã«ãã€ã³ããã¯ã¹ã«å¯Ÿãããã¹ãŠã®ã¿ã€ãã®ããŒãã£ã·ã§ãã³ã°ã㌠( ãã«ã¯ã©ã¹ã¿ãªã³ã°ã㌠ã¯ã©ã¹ã¿ãªã³ã°ããŒã®ãã¬ãã£ãã¯ã¹ åãé¢ãããã㌠) ããµããŒãããŸã ããã« ãªãã©ã€ã³ MODIFY 㯠以äžã®æäœããµããŒãããŸã ã·ã¹ãã ã«ãã£ãŠã¯ã©ã¹ã¿ãŒåãããããŒãã«ã®æ°ããå Žæãžã®ç§»å ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã®æ°ããå Žæãžã®ç§»å åå岿äœã®ã¢ãã«ãªããžã§ã¯ãã«å¯Ÿããå¶é MODIFY ãŠãŒãã£ãªãã£ã® REPARTITION å¥ã§ã¯ ã¢ãã«ããŒãã«ãªããžã§ã¯ããŸãã¯ã¢ãã«ã€ã³ããã¯ã¹ãªããžã§ã¯ãã䜿çšããŠã¿ãŒã²ãããªããžã§ã¯ãã®æãŸããããŒãã£ã·ã§ã³ã¬ã€ã¢ãŠããæå®ããããšã§ ããŒãã«ãã€ã³ããã¯ã¹ã®ååå²ãã§ããŸã MODIFY...REPARTITION ã®è©³çŽ°ã¯ SQL/MX 3.4 Management Guide ãåç §ããŠãã ãã 以äžã®äžè¬çãªå¶çŽãã¢ãã«ãªããžã§ã¯ãã«é©çšãããŸã ã¿ãŒã²ãããªããžã§ã¯ããšåãã«ã¿ãã°ãšã¹ããŒãã§ããå¿ èŠããããŸã ã¿ãŒã²ãããªããžã§ã¯ããã®ãã®ã§ãã£ãŠã¯ãªããŸãã ããŒãã£ã·ã§ãã³ã°åã®ã»ãã㯠ã¿ãŒã²ãããªããžã§ã¯ãã®ããŒãã£ã·ã§ãã³ã°åã®ã»ãããšåãã§ãªããŠã¯ãªããŸãã ããŒãã£ã·ã§ãã³ã°ã¹ããŒã ( ã¬ã³ãžåå²ãŸãã¯ããã·ã¥åå² ) 㯠ã¿ãŒã²ãããªããžã§ã¯ãã®ããŒãã£ã·ã§ãã³ã°ã¹ããŒããšåãã§ãªããŠã¯ãªããŸãã ç©çãããã¯ãµã€ãºã¯ ã¿ãŒã²ãããªããžã§ã¯ãã®ç©çãããã¯ãµã€ãºãšåãã§ãªããã°ãªããŸãã åã®æ°ã¯ ã¿ãŒã²ãããªããžã§ã¯ãã®åã®æ°ãšåãã§ãªããã°ãªããŸãã 60
MODIFY ã®äŸ æ¢åã®ã¬ã³ãžããŒãã£ã·ã§ã³ã®ãã¹ãŠã®ã¬ã³ãŒããæ°ããå Žæã«ç§»åããŸã MODIFY TABLE tab1 MOVE PARTITION WHERE LOCATION $data02 TO LOCATION $data03; ããŒã 10000 ããæåŸã®ããŒãŸã§ã«çããæ¢åã®ã¬ã³ãžããŒãã£ã·ã§ã³ã®ã¬ã³ãŒããæ°ããå Žæã«ç§»åããŸã MODIFY TABLE tab1 MOVE PARTITION WHERE KEY = VALUE (10000) THRU KEY = LAST KEY TO LOCATION $data02 EXTENT (512, 512) MAXEXTENTS 256; TO LOCATION $data03 EXTENT (1024, 1024) MAXEXTENTS 256; ããã·ã¥åå²ãããããŒãã«ã® 2 çªç®ã®ããŒãã£ã·ã§ã³ãæ°ããå Žæã«ç§»åããŸã MODIFY TABLE tab1 MOVE PARTITION WHERE KEY = VALUE (2) TO LOCATION $DATA02; ããã·ã¥åå²ãããããŒãã«ã $data02 ãã $data03 ã«ç§»åããŸã MODIFY TABLE tab1 MOVE PARTITION WHERE LOCATION $data02 TO LOCATION $data03 EXTENT (1024, 1024) MAXEXTENTS 256; ããŒãã«ããªã³ã©ã€ã³æäœã§ç§»åããŸã MODIFY TABLE MODT408A05 ADD PARTITION WHERE KEY= first key upto key= value (30000) TO LOCATION $data04 WITH SHARED ACCESS COMMIT BEFORE '2007-04-05 16:25:40' ONCOMMITERROR COMMIT WORK AFTER '2007-04-05 25:19:00'; 次ã®äŸã¯ ããŒãã«ã® 1 ã€ã® Guardian ã®å Žæã®åçŽãªåå倿Žã瀺ããŠããŸã ããŒãã« T1 ã $DATA01.ZSDABCDE.SPARTN00 ãšããå Žæãæã£ãŠãããšããŸã MODIFY TABLE CAT.SCH.T1 RENAME WHERE LOCATION $DATA01.ZSDABCDE.SPARTN00 TO TPARTN00; å Žæ SPARTN00 ã TPARTN00 ã«ãªããŒã ãããŸã ããªã¥ãŒã ãšãµãããªã¥ãŒã ã¯ãªããŒã ãããŸãã æ¬¡ã®äŸã¯ ããŒãã«ã®æå®ãããå Žæã®ã»ããã®åå倿Žã瀺ããŠããŸã MODIFY TABLE CAT.SCH.T2 RENAME LOCATION ( $DATA01.ZSDABCDE.ABCDEF00 TO FEDCBA00, $DATA02.ZSDABCDE.GHIJKL00 TO LKJIHG00 ); ããŒã¯ãŒã WHERE ã¯ãªãã·ã§ã³ã§ã 次ã®äŸã¯ ãã¿ãŒã³ãäžèŽãããã¹ãŠã®ããŒãã«ã®å Žæã®åå倿Žã瀺ããŠããŸã ããŒãã« T1 ã $DATA01.ZSDABCDE.SPARTX00 ããã³ $DATA02.ZSDABCDE.SPARTY00 ãšããå Žæãæã£ãŠãããšããŸã MODIFY TABLE CAT.SCH.T1 RENAME WHERE LOCATION $*.ZSDABCDE.S* MAP NAMES TO T???????; ã©ã¡ãã®å Žæããã¿ãŒã³ã«äžèŽãããã ååã倿ŽãããŸã çµæã®å Žæã®äžçªå·Šã«ã¯æå "T" ãå«ãŸã æ®ãã®äœçœ®ã®æåã¯å ã®å Žæãšåããã®ã«ãªããŸã ãã®ãã å Žæã®åå㯠$DATA01.ZSDABCDE.TPARTX00 ããã³ $DATA02.ZSDABCDE.TPARTY00 ã«å€æŽãããŸã ã€ã³ããã¯ã¹ã®æå®ãããå Žæã®ã»ããã®ååã倿ŽããŸã MODIFY INDEX CAT.SCH.IDX2 61
RENAME LOCATION ( $DATA01.ZSDABCDE.ABCDEF00 TO FEDCBA00, $DATA02.ZSDABCDE.GHIJKL00 TO LKJIHG00 ); ã€ã³ããã¯ã¹ã®ãã¡ã€ã«åã®ãã¿ãŒã³ã«äžèŽãããã¹ãŠã®å Žæã®ååã倿ŽããŸã MODIFY INDEX CAT.SCH.MYIX RENAME WHERE LOCATION $DATA*.ZSDXYZZY.S* TO T?????00; ãã®äŸã®ãããã³ã°æå® T?????00 㯠ãœãŒã¹ãã¡ã€ã«åã®æåã«é¢ä¿ãªã ã¿ãŒã²ãããã¡ã€ã«åã®æåã®æåã "T" ã§ããå¿ èŠãããããšã瀺ããŠããŸã åŸç¶ã® 5 æåã¯ãœãŒã¹ãã¡ã€ã«åã®å¯Ÿå¿ããäœçœ®ããã³ããŒãã æåŸã® 2 æå㯠00 ã«ãªããŸã 次ã®äŸã¯ ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã®ããŒãã£ã·ã§ã³ãç§»åããŠããŸã MODIFY SEQUENCE seq1 MOVE PARTITION TO LOCATION $data02; 次ã®äŸã¯ ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã® Guardian ã®å Žæã®ååã倿ŽããŠããŸã MODIFY SEQUENCE seq1 RENAME WHERE LOCATION $DATA06.ZSDGQJL7.GGLP9700 to NEWLOC00; 次ã®äŸã¯ ãã¿ãŒã³ã䜿çšããŠã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã® Guardian ã®å Žæã®ååã倿ŽããŠããŸã MODIFY SEQUENCE seq1 RENAME WHERE LOCATION $*.*.*MAP NAMES TO NW????00; ã€ã³ããã¯ã¹ã® 1 ã€ã® Guardian ã®å Žæã®ååã倿ŽããŸã MODIFY INDEX CAT.SCH.IDX1 RENAME WHERE LOCATION $DATA01.ZSDABCDE.SPARTN00 TO TPARTN00; ããŒã¯ãŒã WHERE ã¯ãªãã·ã§ã³ã§ããããšã«æ³šæããŠãã ãã ããŒãã«ãåããŒãããŸã MODIFY TABLE t1 REORG; ããŒãã« t1 ã CONCURRENCY 2 ãš RATE 40 ã§åããŒãããŸã MODIFY TABLE t1 REORG CONCURRENCY 2, RATE 40; ããŒãã« t1 ãåããŒãã 鲿ã¬ããŒãã oss ãã¡ã€ã«ã«èšé²ããŸã MODIFY TABLE t1 REORG LOG TO OUTFILE /home/usr/reorg.log; ã¢ãã«ãªããžã§ã¯ãã®ã¬ã€ã¢ãŠãã䜿çšããŠããŒãã«ãååå²ããŸã CREATE TABLE TARGET_OBJ (...) LOCATION $DATA01.ZSDABCDE.HIJKLM00 PARTITION BY (COL2) ( ADD FIRST KEY (1000) LOCATION $DATA02.ZSDABCDE.OPQRST00, ADD FIRST KEY (2000) LOCATION $DATA03.ZSDABCDE.UVWXYZ00 ) 察å¿ããã¢ãã«ããŒãã£ã·ã§ã³ã¬ã€ã¢ãŠãã以äžã®ããã«ä»®å®ããŸã CREATE TABLE MODEL_OBJ (...) LOCATION $DATA01.ZSDABCDE.ABCDEF00 PARTITION BY (COL2) ( ADD FIRST KEY (1500) LOCATION $DATA02.ZSDABCDE.GHIJKL00, ADD FIRST KEY (3000) LOCATION $DATA03.ZSDABCDE.MNOPQR00, ADD FIRST KEY (5000) LOCATION $DATA04.ZSDABCDE.STUVWX00 ) 62
次ã®ã³ãã³ããå®è¡ãããš MODIFY TABLE TARGET_OBJ REPARTITION LIKE MODEL_OBJ; ã¿ãŒã²ããããŒãã£ã·ã§ã³ã®ã¬ã€ã¢ãŠãã¯æ¬¡ã®ããã«ãªããŸã CREATE TABLE TARGET_OBJ (...) LOCATION $DATA01.ZSDABCDE.ABCDEF00 PARTITION BY (COL2) ( ADD FIRST KEY (1500) LOCATION $DATA02.ZSDABCDE.GHIJKL00, ADD FIRST KEY (3000) LOCATION $DATA03.ZSDABCDE.MNOPQR00, ADD FIRST KEY (5000) LOCATION $DATA04.ZSDABCDE.STUVWX00 ) 63
PURGEDATA ãŠãŒãã£ãªã㣠PURGEDATA ã«é¢ããçæäºé (2-304) PURGEDATA ã®äŸ (2-305) PURGEDATA 㯠MXCI ã䜿çšããŠå®è¡ã§ããæ§æããŒã¹ã®ãŠãŒãã£ãªãã£ã§ã PURGEDATA ãŠãŒãã£ãªãã£ã¯ SQL/MX ããŒãã«ãšããã«é¢é£ããã€ã³ããã¯ã¹ãã ãŸãã¯ã€ã³ããã¯ã¹ã®ãªãããŒãã«ã®æå®ãããããŒãã£ã·ã§ã³ãã ãã¹ãŠã®ããŒã¿ãåé€ããŸã PURGEDATA 㯠察象ã®ããŒãã«ã«å¯Ÿããæä»çã¢ã¯ã»ã¹æš©ãå¿ èŠã§ã PURGEDATA table-name [list-of-partitions] [IGNORE_TRIGGER] table-name is: [ [catalog.]schema.]name list-of-partitions is: [PARTITION] WHERE partition-map partition-map is: {guardian-name first-key } guardian-name is: LOCATION [\node].$volume[.subvolume.file] first-key is: {[KEY=] partition-id [KEY=] partition-id UPTO [KEY=] partition-id [KEY=] partition-id THRU [KEY=] partition-id } partition-id is: {{FIRST LAST} PARTITION key-value } key-value is: VALUE (column-value [, column-value]...) 64
RECOVER ãŠãŒãã£ãªã㣠RECOVER ã«é¢ããçæäºé (2-305) RECOVER ã®äŸ (2-307) RECOVER 㯠MXCI ã䜿çšããŠå®è¡ã§ããæ§æããŒã¹ã®ãŠãŒãã£ãªãã£ã§ã RECOVER ãŠãŒãã£ãªãã£ã¯å€±æãããŠãŒãã£ãªãã£æäœã®ç¶æ ã倿ã㊠ãã®ãªã«ããªæé ãå®è¡ããŸã RECOVER 㯠æäœå šäœãããŒã«ããã¯ããã æäœãå®äºãããããšã§ 倱æãããŠãŒãã£ãªãã£æäœãå®äºãããŸã RECOVER 㯠ã»ãšãã©ã®å Žå æäœãéå§ãããåãšåãç¶æ ã«ããããšã§ãŠãŒãã£ãªãã£æäœãããŒã«ããã¯ããŸã RECOVER [INCOMPLETE SQLDDL OPERATION ON] object [ddl-lock ] [opt ] object is: { TABLE INDEX } object-name object-name is: [[catalog.]schema.]name ddl-lock is: WITH DDL_LOCKS ddl-lockname ddl-lockname is: catalog.schema.name opt is: { CANCEL [ RECLAIM optional-reclaim-option-list ] RESUME } optional-reclaim-option-list is: ( reclaim-option [, reclaim-option ] ) reclaim-option is: RATE percentage PRIORITY gpri 65
ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã«é¢ããçæäºé REVOKE SEQUENCE ã RESTRICT ããã³ CASCADE ãªãã·ã§ã³ãšå ±ã«äœ¿çšããå Žå 以äžã®çæäºé ããããŸã ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒãã©ã®ããªã¬ãŒãããåç §ãããŠããªãå Žå RESTRICT ããã³ CASCADE ãªãã·ã§ã³ã¯åé¡ã«ãªããŸãã USAGE 㯠ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã§ãµããŒããããå¯äžã®æš©éã§ã ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã 1 ã€ä»¥äžã®ããªã¬ãŒããåç §ãããŠã㊠å°ãªããšã 1 ã€ã®ããªã¬ãŒã®ãªãŒããŒã REVOKE SEQUENCE...RESTRICT ã®çµæãšããŠãã¹ãŠã® USAGE æš©éã倱ã£ãå Žå REVOKE æäœã¯ãšã©ãŒãšãªã æåŠãããŸã ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã 1 ã€ä»¥äžã®ããªã¬ãŒããåç §ãããŠã㊠ãã¹ãŠã®ããªã¬ãŒã®ãªãŒããŒã REVOKE SEQUENCE...RESTRICT ã®åŸã§ã USAGE æš©éãä¿æããŠããå Žå REVOKE æäœã¯ æ£åžžã« USAGE æš©éãåãæ¶ããŸã ããªã¬ãŒã¯åé€ãããŸãã ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒã 1 ã€ä»¥äžã®ããªã¬ãŒããåç §ãããŠã㊠å°ãªããšã 1 ã€ã®ããªã¬ãŒã®ãªãŒããŒã REVOKE SEQUENCE...CASCADE ã®çµæãšããŠãã¹ãŠã® USAGE æš©éã倱ã£ãå Žå REVOKE æäœã¯ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒããæš©éãåãæ¶ã ãªãŒããŒããã§ã« USAGE æš©éãä¿æããŠããªãããªã¬ãŒã®ãã¡åç §ããŠããããªã¬ãŒãåé€ããŸã ãªãŒããŒããŸã USAGE æš©éãä¿æããŠããããªã¬ãŒã¯ REVOKE æäœåŸãåé€ãããŸãã 66
SELECT æ SELECT ã«é¢ããçæäºé (2-339) éžæãªã¹ãã«é¢ããçæäºé (2-343) SEQUENCE BY ã«é¢ããçæäºé (2-343) GROUP BY ã«é¢ããçæäºé (2-344) ORDER BY ã«é¢ããçæäºé (2-344) UNION ã«é¢ããçæäºé (2-344) MXCI ã§ã® SELECT ã®äŸ (2-348) C ã§ã® SELECT ã®äŸ (2-353) COBOL ã§ã® SELECT ã®äŸ (2-354) ãããªãã·ã¥ / ãµãã¹ã¯ã©ã€ãã§ã® SELECT ã®äŸ (2-354) ã€ã³ã©ã€ã³ CQD ã§ã® SELECT ã®äŸ SELECT æã¯ ããŒãã« ãã¥ãŒ ã¯ãšãªè¡šçŸã®è©äŸ¡ã«ãã£ãŠå€å¥ãããå°åºãããããŒãã« ãŸãã¯çµåãããããŒãã«ããå€ãååŸãã DML æã§ã SELECT INTO æã¯ ã¯ãšãªè¡šçŸã®è©äŸ¡ã«ãã£ãŠå€å¥ãããããŒãã« ãã¥ãŒ çµåãããããŒãã« ãŸãã¯å°åºãããããŒãã«ããåäžè¡ã®å€ãååŸããããã«äœ¿çšããŸã ååŸããè¡ã®å€ããã¹ã倿°ã«å²ãåœãŠãŸã INTO ããŒãžã§ã³ã® SELECT 㯠åã蟌㿠SQL ããã°ã©ã ã§ã®ã¿äœ¿çšããŸã [ROWSET FOR size-and-index ] size-and-index is : INPUT SIZE rowset-size-in OUTPUT SIZE rowset-size-out KEY BY row-id INPUT SIZE rowset-size-in, OUTPUT SIZE rowset-size-out INPUT SIZE rowset-size-in, KEY BY row-id OUTPUT SIZE rowset-size-out, KEY BY row-id INPUT SIZE rowset-size-in, OUTPUT SIZE rowset-size-out, KEY BY row-id SELECT [[ANY N ] [FIRST N ]] [ALL DISTINCT] select-list INTO variable-spec [,variable-spec]... FROM table-ref [,table-ref]... [WHERE search-condition rowset-search-condition ] [SAMPLE sampling-method] [TRANSPOSE transpose-set [transpose-set]... [KEY BY key-colname]]... [SEQUENCE BY colname [ASC[ENDING] DESC[ENDING]] [,colname [ASC[ENDING] DESC[ENDING]]]...] [GROUP BY {colname colnum} [,{colname colnum}]...] [HAVING search-condition rowset-search-condition ] [ORDER BY {colname colnum} [ASC[ENDING] DESC[ENDING]] [,{colname colnum} [ASC[ENDING] DESC[ENDING]]]...] [[FOR] access-option ACCESS] [IN {SHARE EXCLUSIVE} MODE] [UNION [ALL] select-stmt] WITH control-query-default control-list [ statement-level-hint-list ]; select-list is: 67
* select-sublist [,select-sublist]... select-sublist is: corr.* [corr.]single-col [[AS]name] [col-expr [[AS]name] table-ref is: table [[AS] corr [<<+ table-hint-list >>] [(col-expr-list)]] STREAM (table) [[AS] corr [(col-expr-list)]] [AFTER LAST ROW] view [[AS] corr [(col-expr-list)]] STREAM (view) [[AS] corr [(col-expr-list)]] [AFTER LAST ROW] (query-expr) [AS] corr [(col-expr-list)] (delete-statement [RETURN select-list]) [AS] corr [(col-expr-list)] (update-statement [RETURN select-list]) [AS] corr [(col-expr-list)] joined-table table-hint-list is: table-hint [, table-hint-list] table-hint is: access-path-hint cardinality-hint selectivity-hint access-path-hint is: BASETABLE table NO_BASETABLE table INDEX table( index-list ) NO_INDEX table( index-list ) INDEXJOIN table( index-list ) NO_INDEXJOIN table( index-list ) index-list is: index [, index]... cardinality-hint is: CARDINALITY table( cardinality-value ) selectivity-hint is: SELECTIVITY table( selectivity-value ) access-option is: READ UNCOMMITTED READ COMMITTED SERIALIZABLE REPEATABLE READ SKIP CONFLICT STABLE query-expr is: non-join-query-expr joined-table non-join-query-expr is: non-join-query-primary query-expr UNION [ALL] query-term query-term is: non-join-query-primary joined-table non-join-query-primary is: simple-table (non-join-query-expr) joined-table is: table-ref [NATURAL] [join-type] JOIN table-ref [join-spec] 68
table-ref CROSS JOIN table-ref join-type is: INNER LEFT [OUTER] RIGHT [OUTER] join-spec is: ON search-condition rowset-search-condition simple-table is: VALUES (row-value-const) [,(row-value-const)]... TABLE table SELECT [ALL DISTINCT] select-list FROM table-ref [,table-ref]... FROM ROWSET [rowset-size] (:array-name [,:array-name]...) [WHERE search-condition rowset-search-condition ] [SAMPLE sampling-method] [TRANSPOSE transpose-set [transpose-set]... [KEY BY key-colname]]... [SEQUENCE BY colname [ASC[ENDING] DESC[ENDING]] [,colname [ASC[ENDING] DESC[ENDING]]]...] [GROUP BY {colname colnum} [,{colname colnum}]...] [HAVING search-condition rowset-search-condition ]] [[FOR] access-option ACCESS] [IN {SHARE EXCLUSIVE} MODE] row-value-const is: row-subquery {expression NULL} [,{expression NULL}]... sampling-method is: RANDOM percent-size FIRST rows-size [SORT BY colname [ASC[ENDING] DESC[ENDING]] [,colname [ASC[ENDING] DESC[ENDING]]]...] PERIODIC rows-size EVERY number-rows ROWS [SORT BY colname [ASC[ENDING] DESC[ENDING]] [,colname [ASC[ENDING] DESC[ENDING]]]...] percent-size is: percent-result PERCENT [ROWS {CLUSTERS OF number-blocks BLOCKS}] BALANCE WHEN condition THEN percent-result PERCENT [ROWS] [WHEN condition THEN percent-result PERCENT [ROWS]]... [ELSE percent-result PERCENT [ROWS]] END rows-size is: number-rows ROWS BALANCE WHEN condition THEN number-rows ROWS [WHEN condition THEN number-rows ROWS]... [ELSE number-rows ROWS] END transpose-set is: transpose-item-list AS transpose-col-list transpose-item-list is: expression-list (expression-list)[,(expression-list)]... expression-list is: expression [,expression]... transpose-col-list is: colname (colname-list) colname-list is: colname [,colname].. control-query-default is: CONTROL QUERY DEFAULT control-list is: 69
attribute 'attr-value' attribute 'attr-value' [, control-list]... statement-level-hint-list is: USING <<+ hint-list >> hint-list is: hint [, hint-list] hint is: statement-hint table-hint statement-hint is: join-type-hint join-type-hint is: USE_HASHJOIN (table-1 [,table-2]) NO_HASHJOIN (table-1 [,table-2]) USE_MERGEJOIN (table-1 [,table-2]) NO_MERGEJOIN (table-1 [,table-2]) USE_NESTEDJOIN (table-1 [,table-2]) NO_NESTEDJOIN (table-1 [,table-2]) ROWSET FOR size-and-index SELECT æã§è¡ã»ããã䜿çšããå Žåã«ã®ã¿èš±å¯ãããŸã INPUT SIZE rowset-size-in ããã³ KEY BY row-id 㯠where å¥ã« rowset-search-condition ãæå®ããå Žåã«ã®ã¿èš±å¯ãããŸã OUTPUT SIZE rowset-size-out 㯠variable-spec ãè¡ã»ããã¿ã€ãã®ãã¹ã倿°ã§æ§æãããŠãã SELECT INTO æã§ã®ã¿èš±å¯ãããŸã INPUT SIZE rowset-size-in å ¥åè¡ã»ããã®ãµã€ãºãæå®ããããµã€ãºã«å¶éããŸã æå®ãããµã€ãºã¯ è¡ã»ããã«å²ãåœãŠãããŠãããµã€ãºä»¥äžã§ããå¿ èŠããããŸã ãµã€ãºã¯ ã¿ã€ãã C ã® unsigned short signed short unsigned long ãŸã㯠signed long ã§ããæŽæ°ãªãã©ã« ( çæ°ãªãã©ã« ) åçãã©ã¡ãŒã¿ãŒ ãŸãã¯ãã¹ã倿° ããã³ COBOL ã®å¯Ÿå¿ããåçãªæŽæ°ãªãã©ã« åçãã©ã¡ãŒã¿ãŒ ãŸãã¯ãã¹ã倿°ã§ã ãµã€ãºãæå®ããªãå Žå NonStop SQL/MX ã¯åã蟌㿠SQL ããã°ã©ã ã® SQL Declare Section ã«æå®ãããå²ãåœãŠæžã¿ã®è¡ã»ããã®ãµã€ãºã䜿çšããŸã OUTPUT SIZE rowset-size-out åºåè¡ã»ããã®ãµã€ãºãæå®ããããµã€ãºã«å¶éããŸã æå®ãããµã€ãºã¯ è¡ã»ããã«å²ãåœãŠãããŠãããµã€ãºä»¥äžã§ããå¿ èŠããããŸã ãµã€ãºã¯ ã¿ã€ãã C ã® signed long ã§ããæŽæ°ãªãã©ã« ( çæ°ãªãã©ã« ) ãŸãã¯ãã¹ã倿° ããã³ COBOL ã®å¯Ÿå¿ããåçãªæŽæ°ãªãã©ã«ãŸãã¯ãã¹ã倿°ã§ã ãµã€ãºãæå®ããªãå Žå NonStop SQL/MX ã¯åã蟌㿠SQL ããã°ã©ã ã® SQL Declare Section ã«æå®ãããå²ãåœãŠæžã¿ã®è¡ã»ããã®ãµã€ãºã䜿çšããŸã ãã®ãªãã·ã§ã³ã¯ã«ãŒãœã«å®£èšã§ã¯ãµããŒããããŸãã OUTPUT SIZE 㯠SELECT...INTO æã§ã®ã¿ãµããŒããããŸã KEY BY row-id ãŒãããå§ãŸãã€ã³ããã¯ã¹ã§ã ããã¯ çµæã»ããã«è¡ãå«ããåå ãš 70
ãªã£ã WHERE å¥ã®ç¹å®ã® search-condition ã« SELECT æãŸã㯠FETCH æã®çµæã»ããã®åè¡ãé¢é£ä»ããŸã ããšãã° çµæã»ããã®ç¹å®ã®è¡ã® row-id å€ã 0 ( ãŒã ) ã®å Žå ãã®è¡ã¯ WHERE å¥ã®ãã¹ã倿°é åã®æåã®èŠçŽ (C ã®é åã€ã³ããã¯ã¹ 0 COBOL ã®é åã€ã³ããã¯ã¹ 1) ã® search-condition ãšäžèŽããŸã è¡ã»ããã®è©³çްã«ã€ããŠã¯ SQL/MX Programming Manual for C and COBOL ãåç §ããŠãã ãã [ANY N ] [FIRST N ] æåã® N è¡ (ANY) ãŸãã¯ãœãŒããããè¡ã® FIRST N è¡ã®ã©ã¡ããéžæããããæå®ããŸã ANY N ãŸã㯠FIRST N ã¯è§ã«ãã³ã§å²ãå¿ èŠããããŸã [FIRST N] 㯠SELECT æã®çµæããŒãã«ããœãŒãããããã« éžæãªã¹ãã®ããããã®åã« ORDER BY ã䜿çšããå Žåã«ã®ã¿ [ANY N] ãšç°ãªããŸã N ã¯ã¹ã±ãŒã«ã®ãªã笊å·ãªãã®æ°å€ãªãã©ã«ã§ã N ãããŒãã«å ã®è¡æ°ãã倧ããå Žå㯠ãã¹ãŠã®è¡ãè¿ãããŸã [ANY N] ããã³ [FIRST N] 㯠ãã¹ããã SELECT æããã³ UNION æäœã®äž¡åŽã§èš±å¯ãããŸã ALL DISTINCT select-list ã«æå®ãããŠããåã®ãã¹ãŠã®è¡ãååŸãã (ALL) ã éè€ããŠããè¡ãé€ããè¡ã®ã¿ãååŸãã (DISTINCT) ããæå®ããŸã ãã«ã¯éè€ãåé€ããããã«çãããšèŠãªãããŸã ããã©ã«ã㯠ALL ã§ã select-list FROM å¥ã®ããŒãã«åç §ããéžæããåãŸãã¯åã®åŒãæå®ããŸã * FROM å¥ã«æå®ããã ã¯ãšãªè¡šçŸã®è©äŸ¡ã«ãã£ãŠå€å¥ãããããŒãã« ãã¥ãŒ çµåãããããŒãã« ãŸãã¯å°åºãããããŒãã«ã®ãã¹ãŠã®åãæå®ããŸã corr.* corr. FROM å¥ã«æå®ãããããŒãã«åç §ã®çžé¢å corr ã䜿çšã㊠ç¹å®ã®ããŒãã«åç §ã®ãã¹ãŠã®åãæå®ããŸã çžé¢å (6-11) ãåç §ããŠãã ãã FROM å¥ã«æå®ãããããŒãã«åç §ã®çžé¢å corr ã䜿çšã㊠ç¹å®ã®ããŒãã«åç §ã®ãã¹ãŠã®åãæå®ããŸã single-col [[AS] name] åãæå®ããŸã col-expr [[AS]name] ãªã¹ãå ã® SQL å€ã®åŒã®è©äŸ¡ã«ãã£ãŠå€å¥ãããå°åºãããåãæå®ããŸã AS å¥ã䜿çšããããšã«ãã£ãŠ å°åºãããå col-expr ã name ã«é¢é£ä»ããããšãã§ããŸã 71
éžæãªã¹ãã«é¢ããçæäºé (2-343) ã®å¶éã«é¢ããèšè¿°ãåç §ããŠãã ãã INTO variable-spec [,variable-spec ]... SELECT æã®çµæè¡ã®å€ãè¿ããã¹ã倿°ãæå®ããŸã select-list ã®é ç®æ°ã¯ æå®ãããã¹ã倿°ã®æ°ãšçããå¿ èŠããããŸã åãœãŒã¹å€ã®ããŒã¿ã¿ã€ã㯠ã¿ãŒã²ããã®ãã¹ã倿°ã®ããŒã¿ã¿ã€ããšäºææ§ãããå¿ èŠããããŸã çµæè¡ã®æåã®å€ãæåã®ãã¹ã倿°ã«ä»£å ¥ãã 2 çªç®ã®å€ã 2 çªç®ã®å€æ°ã«ä»£å ¥ãããŸã ( 以äžåæ§ ) variable-spec ã«ã¯è¡ã»ãããã¹ã倿°ãæå®ã§ããŸã 1 ã€ã®è¡ã»ãããã¹ã倿°ãæå®ããå Žå㯠INTO ãªã¹ãã«æå®ãããã¹ãŠã®ãã¹ã倿°ãè¡ã»ããã§ããå¿ èŠããããŸã è¡ã»ããã䜿çšããå Žåã¯ è€æ°ã®è¡ãè¿ãããšãã§ããŸã è¿ãããè¡æ°ãè¡ã»ããã®é·ãããçãå Žå ãšã©ãŒã¯è¡šç€ºãããŸãã ãã ã è¿ãããè¡æ°ãè¡ã»ããã®é·ããŸãã¯æå®ããã rowset-size-out ãè¶ ããå Žå NonStop SQL/MX ã¯ãšã©ãŒã衚瀺ããŸã INTO å¥ã¯ UNION æäœã§ã¯ãªãæäœ ããã³ 1 ã€ã®è¡ãè¿ãæäœã«ã®ã¿äœ¿çšããŸã SELECT æãè€æ°ã®è¡ãè¿ãå Žå㯠INTO ãªã¹ãã«è¡ã»ãããã¹ã倿°ã䜿çšããã ã«ãŒãœã«ã䜿çšããŸã :variable-name [[INDICATOR]:indicatorname ] 倿°ã®æå®ã§ã ( ãã¹ã倿°ãšãªãã·ã§ã³ã®ã€ã³ãžã±ãŒã¿ãŒå€æ° ) 倿°å㯠ã³ãã³ (:) ã§å§ãŸããŸã SELECT æã®çµæè¡ã®å€ã¯ ãããã®ãã¹ã倿°ã« è¿ãããŸã ã€ã³ãžã±ãŒã¿ãŒå€æ°ã®ããŒã¿ã¿ã€ãã¯ã¹ã±ãŒã« 0 ã®çæ°ã§ã ãã¹ã倿°ã«è¿ãããããŒã¿ããã«ã®å Žå ã€ã³ãžã±ãŒã¿ãŒå€æ°ã¯ãŒãæªæºã®å€ã«èšå®ãããŸã è¿ãããæåããŒã¿ãåãæšãŠãããå Žå ã€ã³ãžã±ãŒã¿ãŒãã©ã¡ãŒã¿ãŒã«ã¯ããŒã¿ããŒã¹å ã®æååã®é·ããèšå®ãããŸã SQL/MX Programming Manual for C and COBOL ã§åäžè¡ã® SELECT æã«ã€ããŠåç §ããŠãã ãã FROM table-ref [,table-ref ]... NonStop SQL/MX ã select-list ã«æå®ãããåãè¿ãäžéçµæããŒãã«ã®å 容ãå°åºããã ããŒãã« ãã¥ãŒ å°åºãããããŒãã« ãŸãã¯çµåãããããŒãã«ã®ãªã¹ããæå®ããŸã ããŒãã«ãŸãã¯ãã¥ãŒãåç §ããã«ã¯ 次ã®ååã¿ã€ãã®ããããã䜿çšããŸã Guardian ç©çå ANSI è«çå 72
DEFINE å ããŒã¿ããŒã¹ãªããžã§ã¯ãå (6-13) ãåç §ããŠãã ãã 1 ã€ã® table-ref ã®ã¿ãæå®ããå Žå äžéçµæããŒãã«ã¯ãã®ããŒãã«åç §ããå°åºãããè¡ã§æ§æãããŸã è€æ°ã® table-ref ãæå®ããå Žå äžéçµæããŒãã«ã¯åã ã®ããŒãã«åç §ããå°åºãããçµæããŒãã«ã®ã¯ãã¹ç©ãšãªããŸã table [[AS] corr [<<+table-hint-list>>] [(col-expr-list)]] STREAM (table) [[AS] corr [(col-expr-list)]] [AFTER LAST ROW] view [[AS] corr [(col-expr-list)]] STREAM (view) [[AS] corr [(col-expr-list)]] [AFTER LAST ROW] (query-expr) [AS] corr [(col-expr-list)] (delete-statement [RETURN select-list]) [AS] corr [(col-expr-list)] (update-statement [RETURN select-list]) [AS] corr [(col-expr-list)] joined-table åäžã®ããŒãã« ãã¥ãŒ ã¯ãšãªè¡šçŸã®è©äŸ¡ã«ãã£ãŠå€å¥ãããå°åºãããããŒãã« çµåãããããŒãã« ããŒãã«ãŸãã¯ãã¥ãŒã®ã¹ããªãŒãã³ã° ãããã¯åãèŸŒã¿æŽæ°æãŸãã¯å逿ãšã㊠table-ref ãæå®ããŸã 次ã®ãªãã·ã§ã³ã®å¥ã¯ããŒãã«ãŸãã¯ãã¥ãŒã«æå®ã§ããŸã 次ã®å¥ã¯å°åºãããããŒãã«ã§å¿ èŠãšãªããŸã [AS] corr [<<+table-hint-list>>] [(col-expr-list)] FROM å¥å ã®å è¡ããããŒãã«åç § table-ref ã«çžé¢å corr ãæå®ããŸã çžé¢å (6-11) ãåç §ããŠãã ãã col-expr [[AS]name] [,col-expr [[AS]name]]... å°åºãããåã®ãªã¹ãã§ãã col-expr-list ã«é ç®ãæå®ããŸã ã¯ãšãªè¡šçŸã®æå®ã«ã€ããŠã¯ SELECT æ ã® query-expr ã®æ§æå³ãåç §ããŠãã ãã STREAM (table) [[AS] corr [(col-expr-list)]] ããŒãã«ããé£ç¶ããããŒã¿ã¹ããªãŒã ãè¿ããŸã é£ç¶ããããŒã¿ã¹ããªãŒã ã«å¯ŸããŠéããŠããã«ãŒãœã«ã¯ ããŒã¿ã®çµããã®ç¶æ ãè¿ãããšã¯ãªãããã㯠( åŸ æ© ) ç¶æ ã«ãªã æ°ããè¡ã䜿çšå¯èœã«ãªããšå®è¡ãåéããŸã [[AS] corr [(col-expr-list)]] FROM å¥å ã®å è¡ããããŒãã«åç §ã« ãªãã·ã§ã³ã®çžé¢å corr ããã³ãªãã·ã§ã³ã®åãªã¹ããæå®ããŸã 73
[AFTER LAST ROW] ããŒãã«å ã®æ¢åã®ãã¹ãŠã®è¡ãã¹ããªãŒã ãã¹ãããããããã«ã㊠ã¹ããªãŒã ã®ã«ãŒãœã«ãéãããŠããå ¬éãããè¡ã®ã¿ãè¿ããŸã STREAM (view) [[AS] corr [(col-expr-list)]] ãã¥ãŒããé£ç¶ããããŒã¿ã¹ããªãŒã ãè¿ããŸã [AFTER LAST ROW] ãã¥ãŒå ã®æ¢åã®ãã¹ãŠã®è¡ãã¹ããªãŒã ãã¹ãããããããã«ã㊠ã¹ããªãŒã ã®ã«ãŒãœã«ãéãããŠããå ¬éãããè¡ã®ã¿ãè¿ããŸã (delete-statement [RETURN select-list]) [AS] corr [(col-expr-list)] ã¢ããªã±ãŒã·ã§ã³ãåäžã®æäœã§è¡ãèªã¿åã£ãŠåé€ã§ããŸã deletestatement ã®æ§æã«ã€ããŠã¯ DELETE æ ãåç §ããŠãã ãã RETURN select-list åé€ãããè¡ããè¿ãããåãŸãã¯åã®åŒãæå®ããŸã select-list ã®é ç®ã«ã¯ 次ã®åœ¢åŒã䜿çšã§ããŸã [OLD.]* åã蟌㿠DELETE ã§æäŸããã OLD ããŒãã«ã®è¡ãæå®ããŸã OLD ããŒãã«ã¯å逿äœã®åã®åå€ãåç §ããŸã NEW ã¯èš±å¯ãããŸãã RETURN ãªã¹ããæå®ããªãåã蟌ã¿å逿äœã§ã¯ æé»ç㪠OLD.* ã® RETURN ãªã¹ããæ³å®ãããŸã col-expr [[AS]name] ãªã¹ãå ã® SQL å€ã®åŒã®è©äŸ¡ã«ãã£ãŠå€å¥ãããå°åºãããåãæå®ããŸã å€ã®åŒã§åç §ãããå㯠åã蟌㿠DELETE ã«ãã£ãŠæäŸããã OLD ããŒãã«ã®è¡ã®åã§ã OLD ããŒãã«ã¯å逿äœã®åã®åå€ãåç §ããŸã AS å¥ã䜿çšããããšã«ãã£ãŠ å°åºãããå col expr ã name ã«é¢é£ä»ããããšãã§ããŸã [AS] corr [(col-expr-list)] éžæãªã¹ã RETURN select-list å ã®å è¡ããé ç®ã« ãªãã·ã§ã³ã®çžé¢å corr ããã³ãªãã·ã§ã³ã®åãªã¹ããæå®ããŸã (update-statement [RETURN select-list]) [AS] corr [(col-expr-list)] ã¢ããªã±ãŒã·ã§ã³ãåäžã®æäœã§è¡ãèªã¿åã£ãп޿°ã§ããŸã updatestatement ã®æ§æã«ã€ããŠã¯ UPDATE æ ãåç §ããŠãã ãã RETURN select-list 74
æŽæ°ãããè¡ããè¿ãããåãŸãã¯åã®åŒãæå®ããŸã select-list ã®é ç®ã«ã¯ 次ã®åœ¢åŒã䜿çšã§ããŸã [OLD. NEW.]* åã蟌㿠UPDATE ã§æäŸããã OLD ããŒãã«ãŸã㯠NEW ããŒãã«ã®è¡ãæå®ããŸã OLD ããŒãã«ã¯æŽæ°æäœåã®åå€ãåç §ã NEW ããŒãã«ã¯æŽæ°æäœåŸã®åå€ãåç §ããŸã åãæŽæ°ãããªãã£ãå Žå NEW ã®å€ã¯ OLD ã®å€ãšåãã§ã RETURN ãªã¹ããæå®ããªãåãèŸŒã¿æŽæ°æäœã§ã¯ æé»ç㪠NEW.* ã® RETURN ãªã¹ããæ³å®ãããŸã col-expr [[AS]name] ãªã¹ãå ã® SQL å€ã®åŒã®è©äŸ¡ã«ãã£ãŠå€å¥ãããå°åºãããåãæå®ããŸã å€ã®åŒã§åç §ãããå㯠åã蟌㿠UPDATE ã«ãã£ãŠæäŸããã OLD ããŒãã«ãŸã㯠NEW ããŒãã«ã®è¡ã®åãšããŠæå®ã§ããŸã 次ã«äŸã瀺ããŸã RETURN old.empno,old.salary,new.salary, (new.salary - old.salary). AS å¥ã䜿çšããããšã«ãã£ãŠ å°åºãããå col-expr ãåå name ã«é¢é£ä»ããããšãã§ããŸã [AS] corr [(col-expr-list)] éžæãªã¹ã RETURN select-list å ã®å è¡ããé ç®ã« ãªãã·ã§ã³ã®çžé¢å corr ããã³ãªãã·ã§ã³ã®åãªã¹ããæå®ããŸã 次ã«äŸã瀺ããŸã RETURN old.empno,old.salary,new.salary, (new.salary - old.salary) AS emp (empno, oldsalary, newsalary, increase). table-ref [NATURAL] [join-type] JOIN tableref [join-spec] join-type ã¯æ¬¡ã®ãšããã§ã CROSS INNER LEFT [OUTER] RIGHT [OUTER] çµåãããããŒãã«ã§ã join-type 㯠CROSS INNER OUTER LEFT ããã³ RIGHT ããŒã¯ãŒãã䜿çšããŠæå®ããŸã ãªãã·ã§ã³ã® OUTER ããŒã¯ãŒããçç¥ã㊠çµåã« LEFT ãŸã㯠RIGHT ã䜿çšããå Žå NonStop SQL/MX ã¯çµåãå€éšçµåã§ãããšæ³å®ããŸã join-type ãšã㊠CROSS JOIN ãæå®ããå Žå NATURAL JOIN ãŸã㯠join-spec ã¯æå®ã§ããŸãã join-type ãšã㊠INNER LEFT RIGHT çµåãæå®ã NATURAL JOIN ãæå®ããªãå Žå㯠次ã®ããã« join-spec ãšã㊠ON å¥ã䜿çšããå¿ èŠããããŸã ON search-condition çµåã« search-condition ãæå®ããŸã search-condition ã®åååç §ã¯ JOIN ããŒã¯ãŒãã®å·Šããã³å³ã®ããŒãã«åç §ããå°åºããã 2 ã€ã®çµ 75
æããŒãã«ã®ããããã«ååšããåã§ããå¿ èŠããããŸã çµæããŒãã«ã® 2 ã€ã®è¡ã®çµå㯠ãããã®è¡ãæ¡ä»¶ãæºããå Žåã«è¡ãããŸã ON rowset-search-condition çµåã« rowset-search-condition ãæå®ããŸã æ€çŽ¢æ¡ä»¶ã®é åã¯é çªã«è©äŸ¡ãã 忡件ã«ã€ããŠ çµæããŒãã«ã® 2 ã€ã®è¡ãæ¡ä»¶ãæºããå Žåã« ãããã®è¡ãçµåãããŸã rowset-search-condition ã®åååç §ã¯ JOIN ããŒã¯ãŒãã®å·Šããã³å³ã®ããŒãã«åç §ããå°åºããã 2 ã€ã®çµæããŒãã«ã®ããããã«ååšããåã§ããå¿ èŠããããŸã çµåã®ã¿ã€ãããã³çµåã®æå® ( 䜿çšããå Žå ) ã«ãã£ãŠ æ¬¡ã®ããã« 2 ã€ã®ããŒãã«åç §ããçµåãããè¡ãå€å¥ãããŸã table-ref CROSS JOIN table-ref å·Šã® table-ref ã®åè¡ãå³ã® table-ref ã®åè¡ãšçµåããŸã table-ref NATURAL JOIN table-ref äž¡æ¹ã®ããŒãã«ã®åãååãæã€ãã¹ãŠã®åã®å€ãäžèŽããè¡ã®ã¿ãçµåããŸã ãã®ãªãã·ã§ã³ã¯ NATURAL INNER ãšåçã§ã table-ref NATURAL LEFT JOIN table-ref äž¡æ¹ã®ããŒãã«ã®åãååãæã€ãã¹ãŠã®åã®å€ãäžèŽããè¡ãçµåã ãã®æ¡ä»¶ãæºãããªãå·Šã® table-ref ã®è¡ãå ããŸã table-ref NATURAL RIGHT JOIN table-ref äž¡æ¹ã®ããŒãã«ã®åãååãæã€ãã¹ãŠã®åã®å€ãäžèŽããè¡ãçµåã ãã®æ¡ä»¶ãæºãããªãå³ã® table-ref ã®è¡ãå ããŸã table-ref JOIN table-ref ON ON å¥ã®æ¡ä»¶ãæºããè¡ã®ã¿ãçµåããŸã ãã®ãªãã·ã§ã³ã¯ INNER JOIN... ON ãšåçã§ã table-ref LEFT JOIN table-ref ON ON å¥ã®æ¡ä»¶ãæºããè¡ãçµåã ãã®æ¡ä»¶ãæºãããªãå·Šã® table-ref ã® è¡ãå ããŸã table-ref RIGHT JOIN table-ref ON ON å¥ã®æ¡ä»¶ãæºããè¡ãçµåã ãã®æ¡ä»¶ãæºãããªãå³ã® table-ref ã®è¡ãå ããŸã simple-table ãæå®ãã 3 ã€ã®æ¹æ³ã次ã«ç€ºããŸã VALUES (row-value-const) [,(row-value-const)]... TABLE table SELECT [ALL DISTINCT] select-list FROM table-ref [,table-ref]... 76
FROM ROWSET [rowset-size ] (:array-name [,:array-name ]...) [WHERE search-condition rowset-search-condition ] [SAMPLE sampling-method] [TRANSPOSE transpose-set [transpose-set]... [KEY BY key-colname]]... [SEQUENCE BY colname [ASC[ENDING] DESC[ENDING]] [,colname [ASC[ENDING] DESC[ENDING]]]...] [GROUP BY {colname colnum} [,{colname colnum}]...] [HAVING search-condition rowset-search-condition ] [[FOR] access-option ACCESS] [IN {SHARE EXCLUSIVE} MODE] simple-table ã«ã¯ ããŒãã«å€ã³ã³ã¹ãã©ã¯ã¿ãŒãæå®ã§ããŸã ãã㯠VALUES ããŒã¯ãŒãã§å§ãŸã äžé£ã®è¡å€ã³ã³ã¹ãã©ã¯ã¿ãŒ ( ãããããã«ãã³ã§å²ã¿ãŸã ) ãç¶ããŸã row-value-const ã¯ åŒ ( ãŸã㯠NULL) ã®ãªã¹ã ãŸãã¯è¡ã®ãµãã¯ãšãª ( åäžè¡ã®åå€ãè¿ããµãã¯ãšãª ) ã§ã åŒã®ãªãã©ã³ãã¯åãåç §ã§ããŸãã ( ãªãã©ã³ããçµæããŒãã«ã®åäžã®åå€ãè¿ãã¹ã«ã©ãŒãµãã¯ãšãªã§ããå Žåãé€ã ) row-value-const èŠçŽ ãšããŠã® NULL ã®äœ¿çšã¯ SQL/MX ã§æ¡åŒµãããæ©èœã§ã simple-table 㯠TABLE ããŒã¯ãŒãã䜿çšããŠããŒãã«åãããã«ç¶ããããšã«ãã£ãŠæå®ã§ããŸã ãã㯠ã¯ãšãªã®æå® SELECT * FROM table ãšåçã§ã simple-table ã«ã¯ ã¯ãšãªã®æå®ãæå®ã§ããŸã ã€ãŸã SELECT... FROM... ããã³ãªãã·ã§ã³ã® WHERE SAMPLE TRANSPOSE SEQUENCE BY GROUP BY ããã³ HAVING å¥ã§æ§æããã SELECT æã§ã éåžž ãã®åœ¢åŒã®åçŽãªããŒãã«ã¯ INSERT CREATE VIEW ãŸã㯠DECLARE CURSOR æã§äœ¿çšãããŸã FROM ROWSET rowset-size è¡ã»ããããå°åºãããããŒãã«ã®ãµã€ãºãæå®ããããµã€ãºã«å¶éããŸã æå®ãããµã€ãºã¯ è¡ã»ããã«å²ãåœãŠãããŠãããµã€ãºä»¥äžã§ããå¿ èŠããããŸã ãµã€ãºãæå®ããå Žå㯠çŽåŸã« ROWSET ããŒã¯ãŒããæå®ããŸã ãµã€ãºã¯ unsigned integer ãŸãã¯å€ã unsigned integer ã§ãããã¹ã倿°ã§ã :array-name [,:array-name]... äžé£ã®ãã¹ã倿°é åãæå®ããŸã å array-name ã¯è¡ã»ããããå°åºãããããŒãã«ã®åã®ããã«äœ¿çšã§ããŸã å array-name ã«ã¯ SQL ããŒã¿ã¿ã€ãã«å¯Ÿå¿ããããŒã¿ã¿ã€ãã®æå¹ãªãã¹ãèšèªã®èå¥åãæå®ã§ããŸã SQL æå ã®å array-name ã®åã«ã³ãã³ (:) ãä»ããŸã è¡ã»ããããã³ãã¹ã倿°é åã®è©³çŽ°ã¯ SQL/MX Programming Manual for C and COBOL ãåç §ããŠãã ãã WHERE search-condition è¡ãéžæãã search-condition ãæå®ããŸã æ€çŽ¢æ¡ä»¶ (6-108) ãåç §ããŠãã ãã WHERE å¥ã«ã¯ éçŽ (set) 颿°ãå«ããããšã¯ã§ããŸãã search-condition ãé©çšãããã®ã¯ FROM å¥ã®ããŒãã«åç §ããå°åº 77
ãããçµæããŒãã«ã®åè¡ ãŸãã¯è€æ°ã®ããŒãã«åç §ã®å Žå åã ã®ããŒãã«åç §ããå°åºãããçµæããŒãã«ã®ã¯ãã¹ç©ã®åè¡ã§ã éåžž search-condition ã«æå®ããåå㯠ãã®äžéçµæããŒãã«ã®åã§ã æ¯èŒå€ãæ±ããããã«äœ¿çšããããã¹ããããµãã¯ãšãªã®å Žå㯠åãå€éšåç §ã§ããããšãã§ããŸã ãµãã¯ãšãª (6-111) ãåç §ããŠãã ãã ANSI æšæºã«æºæ ããããã« NonStop SQL/MX 㯠éçŽè¿°éšã WHERE å¥ãã HAVING å¥ã«ç§»åãã ééçŽè¿°éšã HAVING å¥ãã WHERE å¥ã«ç§»åããŸãã (NonStop SQL/MP ã§ã¯ç§»åãããŸãã ) WHERE rowset-search-condition è¡ãéžæãã rowset-search-condition ãæå®ããŸã è¡ã»ããæ€çŽ¢æ¡ä»¶ (6-110) ãåç §ããŠãã ãã WHERE å¥ã«ã¯ éçŽ (set) 颿°ãå«ããããšã¯ã§ããŸãã rowset-search-condition ã®åã ã®æ€çŽ¢æ¡ä»¶ã¯ FROM å¥ã®ããŒãã«åç §ããå°åºãããçµæããŒãã« ãŸãã¯è€æ°ã®ããŒãã«åç §ã®å Žå åã ã®ããŒãã«åç §ããå°åºãããçµæããŒãã«ã®ã¯ãã¹ç©ã«é çªã«é©çšãããŸã åã ã®æ€çŽ¢æ¡ä»¶ã®ããããã«äžèŽããè¡ãéžæãããŸã è¡ãè€æ°ã®æ€çŽ¢æ¡ä»¶ã«äžèŽããå Žå㯠äžåºŠã ãéžæãããŸã éåžž rowset-search-condition ã«æå®ããåå㯠ãã®äžéçµæããŒãã«ã®åã§ã æ¯èŒå€ãæ±ããããã«äœ¿çšããããã¹ããããµãã¯ãšãªã®å Žå㯠åãå€éšåç §ã§ããããšãã§ããŸã ãµãã¯ãšãª (6-111) ãåç §ããŠãã ãã SAMPLE sampling-method SELECT æã®äžéçµæããŒãã«ã®ãµãã»ãããéžæããããã«äœ¿çšããããµã³ããªã³ã°æ¹æ³ãæå®ããŸã åæ¹æ³ã§ã¯ãµã³ããªã³ã°ãµã€ãºã䜿çšãããŸã 3 ã€ã®ãµã³ããªã³ã°æ¹æ³ (RANDOM FIRST ããã³ PERIODIC) ã¯æ¬¡ã®ããã«æå®ããŸã RANDOM percent-size çµæããŒãã«ãã眮ãæããããšãªã è¡ãã©ã³ãã ã«éžæãã ( åè¡ãç¡äœçºã«éžæãããŸã ) ããã« NonStop SQL/MX ã«æç€ºããŸã ãµã³ããªã³ã°ãµã€ãºã¯ çµæããŒãã«ã®å²åã䜿çšããããšã«ãã£ãŠå€å¥ãããŸã FIRST rows-size [SORT BY colname [,colname]...] ãœãŒããããçµæããŒãã«ããæåã® rows-size è¡ãéžæããããã« NonStop SQL/MX ã«æç€ºããŸã ãµã³ããªã³ã°ãµã€ãºã¯æå®ãããè¡æ°ã䜿çšããŠå€æãããŸã PERIODIC rows-size EVERY number-rows ROWS [SORT BY colname [,colname]...] ãœãŒããããé£ç¶ããè¡ã®åããã㯠( åšæ ) ããæåã®è¡ãéžæããããã« NonStop SQL/MX ã«æç€ºããŸã ãµã³ããªã³ã°ãµã€ãºã¯åãããã¯ããéžæããããã«æå®ãããè¡æ°ã䜿çšããŠå€æãããŸã 78
SAMPLE 㯠SQL/MX ã§æ¡åŒµãããæ©èœã§ã SET CATALOG æ (2-359) ãåç §ããŠãã ãã TRANSPOSE transpose-set [transpose-set]...[key BY key-colname] transpose-set ããã³ãªãã·ã§ã³ã®ããŒå¥ã TRANSPOSE å¥å ã«æå®ããŸã SELECT æã«ã¯è€æ°ã® TRANSPOSE å¥ã䜿çšã§ããŸã transpose-item-list AS transpose-col-list transpose-set ãæå®ããŸã TRANSPOSE å¥å ã«ã¯è€æ°ã® transpose-set ã䜿çšã§ããŸã TRANSPOSE å¥ã¯ FROM å¥ã®ããŒãã«åç §ããå°åºããããœãŒã¹ããŒãã«ã®åè¡ã«ã€ã㊠ãã¹ãŠã® transpose-set ã®å transposeitem-list ã®åé ç®ã®è¡ãçæããŸã TRANSPOSE å¥ã®çµæããŒãã«ã«ã¯ ãœãŒã¹ããŒãã«ã®ãã¹ãŠã®åã«å ã㊠ãã¹ãŠã® transpose-set ã®å transpose-col-list ã«æå®ãããå€å ããã³ãªãã·ã§ã³ã®ããŒå key-colname ããããŸã KEY BY key-colname å¿ èŠã«å¿ã㊠ãªãã·ã§ã³ã®ããŒå key-colname ãæå®ããŸã ãã㯠transpose-item-list ã®äœçœ®ã«ãã£ãŠ transpose åãªã¹ãã®å€ã«å¯Ÿå¿ããåŒãèå¥ããŸã key-colname 㯠SQL èå¥åã§ã ããŒã¿ã¿ã€ãã¯çæ°ã§å€ã¯ NOT NULL ã§ã TRANSPOSE 㯠SQL/MX ã§æ¡åŒµãããæ©èœã§ã TRANSPOSE å¥ (7-26) ãåç §ããŠãã ãã SEQUENCE BY colname [ASC[ENDING] DESC[ENDING]] [,colname [ASC[ENDING] DESC[ENDING]]]... ã·ãŒã±ã³ã¹é¢æ°ãèšç®ããããã« äžéçµæããŒãã«ã®è¡ããœãŒãããé åºãæå®ããŸã select-list ã«ã·ãŒã±ã³ã¹é¢æ°ãå«ããå Žå㯠SEQUENCE BY å¥ãå«ããå¿ èŠããããŸã ããã§ãªãå Žå NonStop SQL/MX ã¯ãšã©ãŒãè¿ããŸã ãŸã select-list ã«ã·ãŒã±ã³ã¹é¢æ°ããªãå Žå㯠SEQUENCE BY å¥ãå«ããããšã¯ã§ããŸãã colname select-list ã®å ãŸã㯠SELECT æã® FROM å¥ã®ããŒãã«åç §ã®åãæå®ããŸã colname 㯠ãªãã·ã§ã³ã§ããŒãã« ãã¥ãŒ ãŸãã¯çžé¢åã«ãã£ãŠä¿®é£Ÿã§ããŸã ( ããšãã° CUSTOMER.CITY) ASC DESC ãœãŒãé ãæå®ããŸã ããã©ã«ã㯠ASC ã§ã NonStop SQL/MX ããã«ãå«ãŸããŠããå¯èœæ§ãããåã§äžéçµæããŒãã«ãäžŠã¹æ¿ããå Žå ãã«å士ã¯çãã ãã«ã¯ãã«ä»¥å€ã®ä»ã®ãã¹ãŠã®å€ãã倧ãããšèŠãªãããŸã GROUP BY [col-expr] {colname colnum} [,{colname colnum}]...] SELECT æã®çµæããŒãã«ã®äžé£ã®ã°ã«ãŒããå®çŸ©ããã°ã«ãŒãåå 79
colname [,colname]... ãæå®ããŸã ãããã®å㯠SELECT æã® FROM å¥ã®ããŒãã«åç §ã®åã®ãªã¹ãã«æå®ãããŠããå¿ èŠããããŸã GROUP BY å¥ãå«ããå Žå select-list ã§åç §ããå㯠ã°ã«ãŒãåå ãŸãã¯éçŽ ( ãŸã㯠set) 颿°ã®åŒæ°ã§ããå¿ èŠããããŸã ã°ã«ãŒãååã¯äžé£ã®ã°ã«ãŒããå®çŸ©ã åã°ã«ãŒãã¯æå®ãããåã®å€ãåãè¡ã§æ§æãããŸã åå㯠ããŒãã« ãã¥ãŒå ãŸãã¯çžé¢åã«ãã£ãŠä¿®é£Ÿã§ããŸã ( ããšãã° CUSTOMER.CITY) ããšãã° AGE ãæå®ããå Žå çµæããŒãã«ã«ã¯ AGE ã 40 ã«çããè¡ã® 1 ã€ã®ã°ã«ãŒã ããã³ AGE ã 50 ã«çãã 1 ã€ã®ã°ã«ãŒããå«ãŸããŸã AGE ãš JOB ãæå®ããå Žå çµæããŒãã«ã«ã¯å幎霢㫠1 ã€ã®ã°ã«ãŒã ããã³å幎霢ã®ã°ã«ãŒãå ã«åãžã§ãã³ãŒãã®ãµãã°ã«ãŒããå«ãŸããŸã GROUP BY 㯠SELECT ãªã¹ãå ã®çžå¯Ÿçãªäœçœ®ãæãé åºã䜿çšããŠæå®ã§ããŸã ããšãã° GROUP BY 3, 2, 1 ã§ã ã°ã«ãŒãåããããã« ãã¹ãŠã®ãã«ã¯äºãã«çãããšèŠãªãããŸã GROUP BY å¥ã®çµæããŒãã«ã¯ 1 ã€ã®ãã«ã°ã«ãŒãã®ã¿ãæã€ããšãã§ããŸã GROUP BY ã«é¢ããçæäºé (2-344) ãåç §ããŠãã ãã HAVING search-condition SELECT æå ã®å è¡ãã GROUP BY å¥ããçæãããã°ã«ãŒãåããŒãã«ã®åã°ã«ãŒãã« search-condition ãé©çšããããã«æå®ããŸã GROUP BY å¥ãååšããå Žå㯠SELECT æã® HAVING å¥ã®åã«ããå¿ èŠããããŸã ANSI æšæºã«æºæ ããããã« NonStop SQL/MX 㯠éçŽè¿°éšã WHERE å¥ãã HAVING å¥ã«ç§»åãã ééçŽè¿°éšã HAVING å¥ãã WHERE å¥ã«ç§»åããŸãã (NonStop SQL/MP ã§ã¯ç§»åãããŸãã ) GROUP BY å¥ããªãå Žå search-condition 㯠WHERE å¥ ( ãŸã㯠WHERE å¥ããªãå Žå㯠FROM å¥ ) ããçæãããããŒãã«å šäœ (1 ã€ã®ã°ã«ãŒãã§æ§æããã ) ã«é©çšãããŸã search-condition ã§ã¯ éçŽ ( ãŸã㯠set) 颿°ã®åŒæ°ãšããŠä»»æã®åãæå®ã§ããŸã ( ããšãã° AVG (SALARY)) éçŽé¢æ°ã¯ã°ã«ãŒãåãããããŒãã«ã®åã°ã«ãŒãã«é©çšãããŸã éçŽé¢æ°ã®åŒæ°ã§ã¯ãªãå㯠ã°ã«ãŒãååã§ããå¿ èŠããããŸã ã°ã«ãŒãååãåç §ããå Žå ã°ã«ãŒãå ã®åè¡ã«ã¯ã°ã«ãŒãååãšåãå€ãå«ãŸããŠãããã åäžã®å€ãåç §ããŠããŸã æ€çŽ¢æ¡ä»¶ (6-108) ãåç §ããŠãã ãã HAVING rowset-search-condition SELECT æå ã®å è¡ãã GROUP BY å¥ããçæãããã°ã«ãŒãåããŒãã«ã® 80
åã°ã«ãŒãã«è¡ã»ããæ€çŽ¢æ¡ä»¶ãé©çšããããã«æå®ããŸã rowsetsearch-condition é åã®åã ã®æ€çŽ¢æ¡ä»¶ã¯ åã°ã«ãŒãã«é çªã«é©çšãããŸã GROUP BY å¥ãååšããå Žå㯠SELECT æã® HAVING å¥ã®åã«ããå¿ èŠããããŸã GROUP BY å¥ããªãå Žå rowset-search-condition 㯠WHERE å¥ ( ãŸã㯠WHERE å¥ããªãå Žå㯠FROM å¥ ) ããçæãããããŒãã«å šäœ (1 ã€ã®ã°ã«ãŒãã§æ§æããã ) ã«é©çšãããŸã éçŽ ( ãŸã㯠set) 颿°ã®åŒæ°ã«ã¯ä»»æã®åãæå®ã§ããŸã ( ããšãã° AVG (SALARY)) éçŽé¢æ°ã¯ã°ã«ãŒãåãããããŒãã«ã®åã°ã«ãŒãã«é©çšãããŸã éçŽé¢æ°ã®åŒæ°ã§ã¯ãªãå㯠ã°ã«ãŒãååã§ããå¿ èŠããããŸã ã°ã«ãŒãååãåç §ããå Žå ã°ã«ãŒãå ã®åè¡ã«ã¯ã°ã«ãŒãååãšåãå€ãå«ãŸããŠãããã åäžã®å€ãåç §ããŠããŸã è¡ã»ããæ€çŽ¢æ¡ä»¶ (6-110) ãåç §ããŠãã ãã [FOR] access-option ACCESS SELECT æã«ãã£ãŠ ãŸã㯠SELECT æã§ããã¯ãšãªè¡šçŸã®è©äŸ¡ããå°åºããã FROM å¥ã®ããŒãã«åç §ã«ãã£ãŠæå®ãããããŒã¿ã«ã¢ã¯ã»ã¹ããå Žåã® access-option ãæå®ããŸã ããŒã¿äžè²«æ§ãšã¢ã¯ã»ã¹ãªãã·ã§ã³ (1-8) ãåç §ããŠãã ãã READ UNCOMMITTED ã¢ã¯ã»ã¹ããããŒã¿ã¯ ã³ããããããè¡ã®ããŒã¿ã§ããå¿ èŠã¯ãªãããšãæå®ããŸã READ UNCOMMITTED ã®ä»£ããã« SQL/MP ã®æ¡åŒµããã BROWSE ãæå®ã§ããŸã READ COMMITTED ã¢ã¯ã»ã¹ããããŒã¿ã¯ ã³ããããããè¡ã®ããŒã¿ã§ããå¿ èŠãããããšãæå®ããŸã SERIALIZABLE REPEATABLE READ SELECT æããã³äžŠè¡ããã»ã¹ ( åãããŒã¿ã«ã¢ã¯ã»ã¹ãã ) ã䞊è¡ã§ã¯ãªãé£ç¶çã«å®è¡ãããŠãããã®ããã«å®è¡ããããšãæå®ããŸã SKIP CONFLICT å¥ã®ãã©ã³ã¶ã¯ã·ã§ã³ã«ãã£ãŠç«¶åã¢ãŒãã§ããã¯ãããŠããè¡ããã©ã³ã¶ã¯ã·ã§ã³ãã¹ãããããããã«ããŸã SKIP CONFLICT 㯠SET TRANSACTION æã§ã¯äœ¿çšã§ããŸãã STABLE ã¢ã¯ã»ã¹ããŠããè¡ã è¡ã®åŠçäžã¯ããã¯ããããã®ã®ããŒã¿ããŒã¹ã®åæäœ¿çšã¯èš±å¯ãããããšãæå®ããŸã ããã©ã«ãã®ã¢ã¯ã»ã¹ãªãã·ã§ã³ã¯ å«ãŸããŠãããã©ã³ã¶ã¯ã·ã§ã³ã®åé¢ã¬ãã«ã§ãã åé¢ã¬ãã« (10-55) ã«æå®ãããã«ãŒã«ã«åŸã£ãŠæ±ºå®ãããŸã IN {SHARE EXCLUSIVE} MODE SELECT æã«ãã£ãŠ ãŸã㯠SELECT æã§ããã¯ãšãªè¡šçŸã®è©äŸ¡ããå°åºã 81
ãã FROM å¥ã®ããŒãã«åç §ã«ãã£ãŠæå®ãããããŒã¿ã«ã¢ã¯ã»ã¹ããå Žå ããã³ã€ã³ããã¯ã¹ ( ããå Žå ) ãžã®ã¢ã¯ã»ã¹ã«ãã£ãŠããŒãã«ãžã®ã¢ã¯ã»ã¹ãçºçããå Žåã« SHARE ããã¯ãŸã㯠EXCLUSIVE ããã¯ã䜿çšãããã©ãããæå®ããŸã UNION [ALL] select-stmt SELECT æã®çµæããŒãã«ãšå¥ã® SELECT æã®çµæããŒãã«ã®éã«äžé£ã® UNION æäœãæå®ããŸã UNION æäœã®çµæã¯ å ãšãªã 2 ã€ã®ããŒãã«ã®ããããã«å±ããè¡ã§æ§æãããããŒãã«ã§ã UNION ALL ãæå®ããå Žå ããŒãã«ã«ã¯å SELECT æã«ãã£ãŠååŸããããã¹ãŠã®è¡ãå«ãŸããŸã ãã以å€ã®å Žå éè€ããè¡ã¯åé€ãããŸã UNION æäœã® 2 ã€ã® SELECT æã®éžæãªã¹ãã«ã¯åãæ°ã®åããã ãªã¹ãå ã®å¯Ÿå¿ããäœçœ®ã®åã¯äºææ§ã®ããããŒã¿ã¿ã€ãã§ããå¿ èŠããããŸã éžæãªã¹ãã®åã« [ANY N] ãŸã㯠[FIRST N] ã¯æå®ã§ããŸãã UNION æäœã®çµæããŒãã«ã®åæ°ã¯ åéžæãªã¹ãã®åæ°ãšåãã§ã UNION ã®çµæããŒãã«ã®åå㯠巊㮠SELECT æã®éžæãªã¹ãã®å¯Ÿå¿ããååãšåãã§ã åŒãŸãã¯å®æ°ã® UNION ããçæãããåã®åå㯠(EXPR) ã§ã UNION ã«é¢ããçæäºé (2-344) ãåç §ããŠãã ãã [WITH control-query-default control-list] Control-query-default 㯠DML æçšã®ã€ã³ã©ã€ã³ CQD ã³ãã³ããæå®ããŸã CQD ã³ãã³ã㯠CONTROL QUERY DEFAULT ã§ã Control-list ã¯ å±æ§åãšãã®å€ãå«ã¿ãŸã attribute SQL/MX 屿§åã衚ãæååã§ SYSTEM_DEFAULTS ããŒãã«ã® ATTRIBUTE åã«å¯Ÿå¿ããŸã attr-value SQL/MX 屿§å€ãæå®ããæååã§ SYSTEM_DEFAULTS ããŒãã«ã® ATTR_VALUE åã«å¯Ÿå¿ããŸã [ statement-level-hint-list ] hint-list ããŒãã«ã®ãã³ã ãŸã㯠æã®ãã³ã ã®ãªã¹ãã§ã statement-hint { join-type-hint } ã§ã join-type-hint 2 ã€ã®è¡ãœãŒã¹ãçµåãããšãã«äœ¿çšããåçš®ã®çµåã¿ã€ãã®å®è£ ã匷å¶ãŸãã¯æé€ãããã³ãã§ã 次ã®ãã¡ã®ããããã§ã { USE_HASHJOIN 82
NO_HASHJOIN USE_MERGEJOIN NO_MERGEJOIN USE_NESTEDJOIN NO_NESTEDJOIN } USE_HASHJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ããã·ã¥çµåã䜿çšããããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããã·ã¥çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããã ãã倧ããªçµåããã¯ããŒã³ãšããã·ã¥çµåãããŸã ãã®ãšã 2 ã€ã®ããŒãã«ã®ãã¡ 1 ã€ãå éšããŒãã«ã« ãã®ä»ãå€éšããŒãã«ãšãªããŸã è¡ãœãŒã¹ãããã·ã¥çµåã䜿çšããŠçµåã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_HASHJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ããã·ã¥çµåã䜿çšããªãããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããã·ã¥çµåãããŸãã å¥ã®è¡ãœãŒã¹ãšã¯ ãã¹ãããçµåãŸãã¯ããŒãžçµåã§çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããããšã¯ãªã ãã倧ããªçµåããã¯ããŒã³ãšããã·ã¥çµåãããããšããããŸãã ãã ã ããã㯠ãã¹ãããçµåãŸãã¯ããŒãžçµåã§çžäºã«çµåãããå¯èœæ§ããããŸã è¡ãœãŒã¹éã®ããã·ã¥çµåãæé€ã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã USE_MERGEJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã 2 ã€ã®è¡ãœãŒã¹éã®çµåã« ããŒãžçµåã䜿çšããããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããŒãžçµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããã ãã倧ããªçµåããã¯ããŒã³ãšããŒãžçµåãããŸã ãã®ãšã 2 ã€ã®ããŒãã«ã®ãã¡ 1 ã€ãå éšããŒãã«ã« ãã®ä»ãå€éšããŒãã«ãšãªããŸã è¡ãœãŒã¹ãããŒãžçµåã䜿çšããŠçµåã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_MERGEJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ããŒãžçµåã䜿çšããªãããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããŒãžçµåãããŸãã å¥ã®è¡ãœãŒã¹ãšã¯ ãã¹ãããçµåãŸãã¯ããã·ã¥çµåã§çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããããšã¯ãªã ãã倧ããªçµåããã¯ããŒã³ãšããŒãžçµåãããããšããããŸãã ãã ã ããã㯠ãã¹ãããçµåãŸãã¯ããã·ã¥çµåã§çžäºã«çµåãããå¯èœæ§ããããŸã è¡ãœãŒã¹éã®ããŒãžçµåãæé€ã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã USE_NESTEDJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã 2 ã€ã®è¡ãœãŒã¹éã®çµåã« ãã¹ãããçµåãäœ¿çš 83
ããããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ãå éšããŒãã«ãšã㊠å¥ã®è¡ãœãŒã¹ãšãã¹ãããçµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããã ãã倧ããªçµåããã¯ããŒã³ãšãã¹ãããçµåãããŸã ãã®ãšã 2 ã€ã®ããŒãã«ã®ãã¡ 1 ã€ãå éšããŒãã«ã« ãã®ä»ãå€éšããŒãã«ãšãªããŸã è¡ãœãŒã¹ããã¹ãããçµåã䜿çšããŠçµåã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_NESTEDJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ãã¹ãããçµåã䜿çšããªãããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšãã¹ãããçµåãããŸãã å¥ã®è¡ãœãŒã¹ãšã¯ ããã·ã¥çµåãŸãã¯ããŒãžçµåã§çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããããšã¯ãªã ãã倧ããªçµåããã¯ããŒã³ãšããã·ã¥çµåãããããšããããŸãã ãã ã ããã㯠ããã·ã¥çµåãŸãã¯ããŒãžçµåã§çžäºã«çµåãããå¯èœæ§ããããŸã è¡ãœãŒã¹éã®ãã¹ãããçµåãæé€ã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã table-1, table-2 次ã®ãã¡ã® 1 〠: ãã³ããæå®ããã SQL æã§åç §ãã MX ãŸã㯠MP ããŒãã«ã® éšå修食å å®å šä¿®é£Ÿå ãŸãã¯çžé¢å MP ãšã€ãªã¢ã¹åãå¯èœã§ã [<<+ table-hint-list >>] table-hint 次ã®ããããã®å€ããšããŸã { access-path-hint cardinality-hint selectivity-hint } access-path-hint SQL æäžã®ããŒãã«åç §çšãã¹ãžã®ã¢ã¯ã»ã¹ã匷å¶ãŸãã¯æé€ãããã³ãã§ã 次ã®ããããã®å€ããšããŸã { BASETABLE table NO_BASETABLE table INDEX table (index-list) NO_INDEX table (index-list) INDEXJOIN table (index-list) NO_INDEXJOIN table (index-list) } BASETABLE SQL æäžã®é¢é£ããŒãã«åç §ã«å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ã匷å¶ããŸã å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ã匷å¶ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_BASETABLE SQL æäžã®é¢é£ããŒãã«åç §ã«å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ã䜿çšããªãããã«ããŸã å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ãæé€ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã 84
INDEX table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã« æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ã匷å¶ããŸã æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ã䜿çšã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã NO_INDEX table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã«ã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ã䜿çšããªãããã«ããŸã ã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ãæé€ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã NO_INDEX ãã³ãã«ã€ã³ããã¯ã¹ã®ãªã¹ããæå®ãããŠããå Žå æå®ããããã¹ãŠã®ã€ã³ããã¯ã¹ã®ã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ãæé€ãããŸã INDEXJOIN table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã« æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ã匷å¶ããŸã ã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ã䜿çšã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã INDEXJOIN ãã³ãã«ã€ã³ããã¯ã¹ã®ãªã¹ããæå®ãããŠããå Žå ãããã®ãã¡æé©ãªã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ãéžæãããŸã NO_INDEXJOIN table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã« æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ã䜿çšããªãããã«ããŸã æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ãæé€ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã NO_INDEXJOIN ãã³ãã«ã€ã³ããã¯ã¹ã®ãªã¹ããæå®ãããŠããå Žå æå®ããããã¹ãŠã®ã€ã³ããã¯ã¹ã®ã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ãæé€ãããŸã Table 次ã®ãã¡ã® 1 〠: ãã³ããæå®ããã SQL æã§åç §ãã MX ãŸã㯠MP ããŒãã«ã® éšå修食å å®å šä¿®é£Ÿå ãŸãã¯çžé¢å MP ãšã€ãªã¢ã¹åãå¯èœã§ã index-list ãŠãŒã¶ãŒäœæãŸãã¯ã·ã¹ãã äœæã®ã€ã³ããã¯ã¹ã®ãªã¹ãã§ã ååšããªãã€ã³ããã¯ã¹ ããŒã¿ããªãã€ã³ããã¯ã¹ ãŸãã¯ããŒãã«åç §ã«é¢é£ããªãã€ã³ããã¯ã¹ãæå®ãããå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ããŸã cardinality-hint ãªããã£ãã€ã¶ãŒã« é¢é£ããããŒãã«åç §ã®ã³ã¹ãèšç®ã§ æå®ããè¡ã®ã«ãŒãã£ããªãã£ã䜿çšããããæç€ºããŸã cardinality-value 1~922337203685477580 ã®æŽæ°å€ã§ã ãã®ç¯å²å€ã®å€ã å°æ°ãæå®ãã 85
ãå Žå ãªããã£ãã€ã¶ãŒã¯ cardinality-hint ãç¡èŠã èŠåãçºè¡ããŸã selectivity-hint ãªããã£ãã€ã¶ãŒã« é¢é£ããããŒãã«åç §ã®ã³ã¹ãèšç®ã§ æå®ããéžææ§ã䜿çšããããæç€ºããŸã selectivity-value 0.0~1.0 ã®å®æ°å€ã§ã 0.0 ããå°ããå€ã 1.0 ãã倧ããå€ãæå®ãããå Žå ãªããã£ãã€ã¶ãŒã¯ selectivity-hint ãç¡èŠã èŠåãçºè¡ããŸã ORDER BY {colname colnum } [ASC[ENDING] DESC[ENDING]] [,{colname colnum } [ASC[ENDING] DESC[ENDING]]]... æçµçãªçµæããŒãã«ã®è¡ããœãŒãããé åºãæå®ããŸã colname select-list ã®å ãŸã㯠SELECT æã® FROM å¥ã®ããŒãã«åç §ã®åãæå®ããŸã colname 㯠ãªãã·ã§ã³ã§ããŒãã« ãã¥ãŒ ãŸãã¯çžé¢åã«ãã£ãŠä¿®é£Ÿã§ããŸã ( ããšãã° CUSTOMER.CITY) åã«å¥ã®ååã®ãšã€ãªã¢ã¹ãããå Žå㯠ãã®ãšã€ãªã¢ã¹åã䜿çšããå¿ èŠããããŸã colnum select-list å ã®äœçœ®ã«ãã£ãŠ åãæå®ããŸã colnum 㯠å°åºãããåãªã©ã®ååã®ãªãåãåç §ããããã«äœ¿çšããŸã ASC DESC ãœãŒãé ãæå®ããŸã ããã©ã«ã㯠ASC ã§ã ãã«ãå«ãŸããŠããå¯èœæ§ãããåã§çµæããŒãã«ãäžŠã¹æ¿ããå Žå ãã«å士ã¯çãã ãã«ã¯ãã«ä»¥å€ã®ä»ã®ãã¹ãŠã®å€ãã倧ãããšèŠãªãããŸã access-path-hint SQL æäžã®ããŒãã«åç §çšãã¹ãžã®ã¢ã¯ã»ã¹ã匷å¶ãŸãã¯æé€ãããã³ãã§ã 次ã®ããããã®å€ããšããŸã { BASETABLE table NO_BASETABLE table INDEX table (index-list) NO_INDEX table (index-list) INDEXJOIN table (index-list) NO_INDEXJOIN table (index-list)} ORDER BY ã«é¢ããçæäºé (2-344) ãåç §ããŠãã ãã ãªããã£ãã€ã¶ãŒã®ãã³ãã«ã€ããŠã®è©³çŽ°ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã 86
ã€ã³ã©ã€ã³ CQD ã§ã® SELECT ã®äŸ ã€ã³ã©ã€ã³ CQD ã®æ£ãã䜿çšäŸ : SELECT col_1, col_2 FROM tmptable WHERE col_3 = 4 ORDERBY col_1 WITH CONTROL QUERY DEFAULT interactive_access 'on', AUTOMATIC_RECOMPILATION 'OFF'; 87
UPDATE æ UPDATE ã«é¢ããçæäºé (2-383) MXCI ã® UPDATE ã®äŸ (2-393) C ã® UPDATE ã®äŸ (2-393) COBOL ã® UPDATE ã®äŸ (2-393) ãããªãã·ã¥ / ãµãã¹ã¯ã©ã€ãã§ã® DELETE ã®äŸ (2-394) UPDATE æã¯ ããŒãã«ãŸãã¯æŽæ°å¯èœãªãã¥ãŒã§è¡ ( è€æ°å¯ ) ã®ããŒã¿ãæŽæ°ãã DML æã§ã ãã¥ãŒã®è¡ãæŽæ°ãããš ãã¥ãŒãåºã«ããŠããããŒãã«ã®è¡ãæŽæ°ãããŸã SQL/MX ãªãªãŒã¹ 3.2 以éã§ã¯ èªå·±åç §æŽæ°ããµããŒããããŸã ãã®ãµããŒãã«ãã ã¿ãŒã²ããããŒãã«ãã æŽæ°ããè¡ããµãã¯ãšãªã§éžæã§ããŸã SQL/MX ãªãªãŒã¹ 3.2 以éã§ã¯ ãã©ã€ããªããŒåãæŽæ°ã§ããŸã UPDATE æã® 2 ã€ã®åœ¢åŒã次ã«ç€ºããŸã æ€çŽ¢ã«ãã UPDATE è¡ãæŽæ°ããŸã ( è¡ã®éžæã¯æ€çŽ¢æ¡ä»¶ã«ãã£ãŠç°ãªããŸã ) äœçœ®æå®ã«ãã UPDATE ã«ãŒãœã«ã®äœçœ®ã«ãã£ãŠå€å¥ããã 1 ã€ã®è¡ãæŽæ°ããŸã æ€çŽ¢ã«ãã UPDATE ã®åœ¢åŒã§ WHERE å¥ããªãå Žå㯠ããŒãã«ãŸãã¯ãã¥ãŒã®ãã¹ãŠã®è¡ãæŽæ°ãããŸã äœçœ®æå®ã«ãã UPDATE ã®åœ¢åŒã¯ åã蟌㿠SQL ããã°ã©ã ã§ã®ã¿äœ¿çšããŸã æ€çŽ¢ã«ãã圢åŒã¯ MXCI ãŸãã¯åã蟌㿠SQL ããã°ã©ã ã§äœ¿çšããŸã 88
æ€çŽ¢ã«ãã UPDATE ãæ¬¡ã«ç€ºããŸã [ ROWSET FOR INPUT SIZE rowset-size-in ] UPDATE table STREAM (table ) [AFTER LAST ROW] SET set-clause [,set-clause ]... [SET ON ROLLBACK set-roll-clause [,set-roll-clause]...] [WHERE search-condition rowset-search-condition ] [[FOR] access-option ACCESS ] WITH control-query-default control-list] [ statement-level-hint-list ] set-roll-clause is: column-name = expression rowset-expression access-option is: READ COMMITTED SERIALIZABLE REPEATABLE READ SKIP CONFLICT control-query-default is: CONTROL QUERY DEFAULT control-list is: attribute 'attr-value' attribute 'attr-value' [, control-list]... statement-level-hint-list is: USING <<+ hint-list >> hint-list is: hint [, hint-list] hint is: statement-hint table-hint statement-hint is: join-type-hint table-hint is: access-path-hint cardinality-hint selectivity-hint join-type-hint is: USE_HASHJOIN (table-1 [,table-2]) NO_HASHJOIN (table-1 [,table-2]) USE_MERGEJOIN (table-1 [,table-2]) NO_MERGEJOIN (table-1 [,table-2]) USE_NESTEDJOIN (table-1 [,table-2]) NO_NESTEDJOIN (table-1 [,table-2]) access-path-hint is: BASETABLE table NO_BASETABLE table INDEX table( index-list ) NO_INDEX table( index-list ) INDEXJOIN table( index-list ) NO_INDEXJOIN table( index-list ) index-list is: index [, index]... cardinality-hint is: 89
CARDINALITY table( cardinality-value ) selectivity-hint is: SELECTIVITY table( selectivity-value ) äœçœ®æå®ã«ãã UPDATE ãæ¬¡ã«ç€ºããŸã UPDATE table SET set-clause [,set-clause ]... WHERE CURRENT OF {cursor-name ext-cursor-name} set-clause is: column-name = {expression rowset-expression NULL} table ROWSET FOR INPUT SIZE rowset-size-in WHERE å¥ã« rowset-search-condition ãæå®ããå Žåã«ã®ã¿èš±å¯ãããŸã rowset-size-in ã¯å ¥åè¡ã»ããã®ãµã€ãºãæå®ãããµã€ãºã«å¶éããŸã è¡ã»ããã«å²ãåœãŠãããŠãããµã€ãºãš rowset-size-in ãç°ãªãå Žå NonStop SQL/MX 㯠2 ã€ã®ãµã€ãºã®å°ããæ¹ã䜿çšã 倧ããè¡ã»ããã®æ®ãã®ãšã³ããªãŒãç¡èŠããŸã rowset-size-in 㯠C ã® unsigned short signed short unsigned long ãŸã㯠signed long ã¿ã€ãã®æ£æ°ãªãã©ã« ããã³ COBOL ã®å¯Ÿå¿ããåçãªæ£æ°ãªãã©ã« ( çæ°ãªãã©ã« åçãã©ã¡ãŒã¿ãŒ ãŸãã¯ãã¹ã倿° ) ã§ããå¿ èŠããããŸã rowset-size-in ãæå®ããªãå Žå NonStop SQL/MX ã¯åã蟌㿠SQL ããã°ã©ã ã® SQL Declare Section ã«æå®ãããå²ãåœãŠæžã¿ã®è¡ã»ããã®ãµã€ãºã䜿çšããŸã æŽæ°ãããŠãŒã¶ãŒããŒãã«ãŸãã¯ãã¥ãŒãæå®ããŸã table ã¯å®ããŒãã«ãŸãã¯æŽæ°å¯èœãªãã¥ãŒã§ããå¿ èŠããããŸã ããŒãã«ãŸãã¯ãã¥ãŒãåç §ããã«ã¯ 次ã®ååã¿ã€ãã®ããããã䜿çšããŸã Guardian ç©çå ANSI è«çå DEFINE å ããŒã¿ããŒã¹ãªããžã§ã¯ãå (6-13) ãåç §ããŠãã ãã STREAM (table) æå®ããããŒãã«ã§é£ç¶ããããŒã¿ã¹ããªãŒã ãæŽæ°ããŸã SELECT æã®ããŒãã«åç §ãšããŠåã蟌ãŸããŠããªãå Žå UPDATE æã« STREAM ã¢ã¯ã»ã¹ãæå®ã§ããŸãã SELECT æ ãåç §ããŠãã ãã [AFTER LAST ROW] ããŒãã«å ã®æ¢åã®ãã¹ãŠã®è¡ãã¹ããªãŒã ãã¹ãããããããã«ã㊠ã¹ããªãŒã ã®ã«ãŒãœã«ãéãããŠããå ¬éãããè¡ã®ã¿ãæŽæ°ããŸã 90
set-clause æŽæ°ãããŠããããŒãã«å ã®ç¹å®ã®åã«å€ãé¢é£ä»ããŸã å set-clause ã«ã€ã㊠æå®ããã¿ãŒã²ããã® column-name ã®å€ã æŽæ°ãœãŒã¹ã® expression ã®å€ ( ãŸã㯠NULL) ã«çœ®ãæããããŸã ã¿ãŒã²ããã®ååã®ããŒã¿ã¿ã€ãã ãœãŒã¹å€ã®ããŒã¿ã¿ã€ããšäºææ§ãããå¿ èŠããããŸã WHERE å¥ã«è¡ã»ããã®æ€çŽ¢æ¡ä»¶ãå«ããå Žå set-clause ã§è¡ã»ããåŒã䜿çšã§ããŸãã å¿ é ã§ã¯ãããŸãã SET ããã³ WHERE å¥ã§è¡ã»ããã®ãµã€ãºãç°ãªãå Žå 2 ã€ã®ãµã€ãºã®å°ããæ¹ã䜿çšãã 倧ããè¡ã»ããã®æ®ãã®ãšã³ããªãŒã¯ç¡èŠãããŸã è¡ã»ããã®æ€çŽ¢æ¡ä»¶ã® n çªç®ã®æ¡ä»¶ã§éžæããè¡ã¯ set-clause ã®è¡ã»ããåŒã® n çªç®ã®åŒã§æŽæ°ãããŸã è¡ã»ããæ€çŽ¢æ¡ä»¶ (6-110) ãåç §ããŠãã ãã column-name æŽæ°ãã table ã®åãæå®ããŸã ååã修食ããã ç¹°ãè¿ãããããããšã¯ã§ããŸãã expression åã®å€ãæå®ãã SQL å€ã®åŒã§ã expression ã«ã¯ åã«å®çŸ©ããéçŽé¢æ°ãå«ããããšã¯ã§ããŸãã expression ã®ããŒã¿ã¿ã€ã㯠column-name ã®ããŒã¿ã¿ã€ããšäºææ§ãããå¿ èŠããããŸã expression å ã®ã¹ã«ã©ãŒãµãã¯ãšãªã¯ æŽæ°ãããŠããããŒãã«ãåç §ã§ããŸãã expression ãæŽæ°ãããåãåç §ããŠããå Žå NonStop SQL/MX ã¯å ã®å€ã䜿çšããŠåŒãè©äŸ¡ã æ°ããå€ãå€å¥ããŸã åŒ (6-41) ãåç §ããŠãã ãã rowset-expression åã®å€ãæå®ãã SQL å€ã®åŒã®é åã§ã rowset-expression ã SET å¥ã«çŸããã®ã¯ rowset-search-condition ã WHERE å¥ã«ååšããå Žåã®ã¿ã§ã rowset-search-condition ã䜿çšããå Žå set-clause åŒã«ã¯ 2 ã€ã®éžæè¢ããããŸã ã¹ã«ã©ãŒãã¹ã倿°ã®ã¿ ãã®å Žå çµæããŒãã«ã®ãã¹ãŠè¡ã ã¹ã«ã©ãŒåŒãè©äŸ¡ããããšã§ååŸãããåäžã®å€ã§æŽæ°ãããŸã è€æ°ã®é åãã¹ã倿° ãã®å Žå é åã®ãµã€ãºã WHERE å¥ã® search-condition ã§äœ¿çšãããé åã®ãµã€ãºã«äžèŽããªããšãã«ã¯ å°ããæ¹ã®å€ã䜿çšãããŸã search-condition é åã®æåã®èŠçŽ ã®çµæãšããŠè¿ããããã¹ãŠã®è¡ã¯ set-clause é åã®æåã®èŠçŽ ãè©äŸ¡ããŠååŸãããå€ã䜿çšããŠæŽæ°ãããŸã search-condition é åã® 2 çªç®ã®èŠçŽ ã®çµæãšããŠè¿ãããçµæããŒãã«å ã®ãã¹ãŠã®è¡ã¯ setclause é åã® 2 çªç®ã®èŠçŽ ã䜿çšããŠæŽæ°ãã 3 çªç®ä»¥éãåæ§ã§ã ãã¹ã倿°ããã³è¡ã»ããã®è©³çŽ°ã¯ SQL/MX Programming Manual for C and COBOL ãåç §ããŠãã ãã NULL æŽæ°ãœãŒã¹ã®å€ãæå®ã§ããŸã 91
]... SET ON ROLLBACK set-roll-clause [,set-roll-clause UPDATE æã®å®è¡ã«ãã£ãŠ ããã«å«ãŸããŠãããã©ã³ã¶ã¯ã·ã§ã³ãããŒã«ããã¯ãããå Žå 1 ã€ä»¥äžã®åãæŽæ°ãããŸã set-roll-clause æå®ããåã«ç¹å®ã®å€ãèšå®ããŸã å set-roll-clause ã«ã€ã㊠æå®ããã¿ãŒã²ããã® column-name ã®å€ã æŽæ°ãœãŒã¹ã® expression ã®å€ã«çœ®ãæããããŸã ã¿ãŒã²ããã®ååã®ããŒã¿ã¿ã€ãã ãœãŒã¹å€ã®ããŒã¿ã¿ã€ããšäºææ§ãããå¿ èŠããããŸã WHERE å¥ã«è¡ã»ããã®æ€çŽ¢æ¡ä»¶ãå«ããå Žå set-roll-clause ã§è¡ã»ããåŒã䜿çšã§ããŸãã å¿ é ã§ã¯ãããŸãã SET ããã³ WHERE å¥ã§è¡ã»ããã®ãµã€ãºãç°ãªãå Žå 2 ã€ã®ãµã€ãºã®å°ããæ¹ã䜿çšãã 倧ããè¡ã»ããã®æ®ãã®ãšã³ããªãŒã¯ç¡èŠãããŸã è¡ã»ããæ€çŽ¢æ¡ä»¶ã® n çªç®ã®æ¡ä»¶ã§éžæããè¡ã¯ set-roll-clause ã®è¡ã»ããåŒã® n çªç®ã®åŒã§æŽæ°ãããŸã column-name æŽæ°ãã table ã®åãæå®ããŸã ååã修食ããã ç¹°ãè¿ãããããããšã¯ã§ããŸãã expression åã®å€ãæå®ãã SQL å€ã®åŒã§ã expression ã«ã¯ åã«å®çŸ©ããéçŽé¢æ°ãå«ããããšã¯ã§ããŸãã expression ã®ããŒã¿ã¿ã€ã㯠column-name ã®ããŒã¿ã¿ã€ããšäºææ§ãããå¿ èŠããããŸã expression å ã®ã¹ã«ã©ãŒãµãã¯ãšãªã¯ æŽæ°ãããŠããããŒãã«ãåç §ã§ããŸãã expression ãæŽæ°ãããåãåç §ããŠããå Žå NonStop SQL/MX ã¯å ã®å€ã䜿çšããŠåŒãè©äŸ¡ã æ°ããå€ãå€å¥ããŸã åŒ (6-41) ãåç §ããŠãã ãã rowset-expression åã®å€ãæå®ãã SQL å€ã®åŒã®é åã§ã rowset-expression ã SET ON ROLLBACK å¥ã«çŸããã®ã¯ rowset-search-condition ã WHERE å¥ã«ååšããå Žåã®ã¿ã§ã rowset-search-condition ã® n çªç®ã®èŠçŽ ã§è¿ãããè¡ã¯ rowset-expression ã® n çªç®ã®èŠçŽ ã䜿çšããŠæŽæ°ãããŸã åŒã«é¢ããäžèšã®ã«ãŒã«ã¯ rowsetexpression ã®åé åèŠçŽ ã«é©çšãããŸã ãã¹ã倿°ããã³è¡ã»ããã®è©³çŽ°ã¯ SQL/MX Programming Manual for C and COBOL ãåç §ããŠãã ãã WHERE search-condition æŽæ°ããè¡ãéžæãã search-condition ãæå®ããŸã 92
search-condition å ã§ æ¯èŒãããŠããå㯠ããŒãã«ãŸãã¯ãã¥ãŒå ã§ãæŽæ°ãããŠããŸã æ€çŽ¢æ¡ä»¶ (6-108) ãåç §ããŠãã ãã search-condition ãæå®ããªãå Žå㯠ããŒãã«ãŸãã¯ãã¥ãŒã®ãã¹ãŠã®è¡ãæŽæ°ãããŸã åãããŒãã«ã® SELECT ãå«ã WHERE å¥ãšãšãã« UPDATE æã䜿çšããªãã§ãã ãã åãããŒãã«ã«å¯ŸããŠèªã¿åãããã³æ¿å ¥ æŽæ° ãŸãã¯åé€ãè¡ã£ãå Žå ãšã©ãŒãçºçããŸã 代ããã«äœçœ®æå®ããã (WHERE CURRENT OF)UPDATE ã䜿çšããŠãã ãã WHERErowset-search-condition åé€ããè¡ãéžæããæ€çŽ¢æ¡ä»¶ã®é åãæå®ããŸã æ€çŽ¢æ¡ä»¶ã¯é çªã«é©çšãã 忡件ã«ãã£ãŠéžæãããè¡ã¯ æ¬¡ã®æ€çŽ¢æ¡ä»¶ãé©çšãããåã«æŽæ°ãããŸã ãããã£ãŠ åäžã®è¡ãè€æ°åæŽæ°ãããå ŽåããããŸã è¡ã»ããæ€çŽ¢æ¡ä»¶ãååšããå Žåã«ã®ã¿ SET å¥ã§è¡ã»ããåŒã䜿çšã§ããŸã è¡ã»ããæ€çŽ¢æ¡ä»¶ (6-110) ãåç §ããŠãã ãã [FOR] access-option ACCESS æ€çŽ¢æ¡ä»¶ã®è©äŸ¡ã«äœ¿çšãããããŒã¿ã«å¿ èŠãª access-option ãæå®ããŸã ããŒã¿äžè²«æ§ãšã¢ã¯ã»ã¹ãªãã·ã§ã³ (1-8) ãåç §ããŠãã ãã READ COMMITTED æ€çŽ¢æ¡ä»¶ã®è©äŸ¡ã«äœ¿çšãããããŒã¿ã ã³ãããæžã¿ã®è¡ã§ããå¿ èŠãããããšãæå®ããŸã SERIALIZABLE REPEATABLE READ UPDATE æãšåæã«å®è¡ããã ( åãããŒã¿ã«ã¢ã¯ã»ã¹ãã ) ããã»ã¹ãããå Žå åæã«ã§ã¯ãªãé£ç¶çã«å®è¡ããããã®ããã« UPDATE æãšãã®ä»ã®ããã»ã¹ãå®è¡ããããšãæå®ããŸã SKIP CONFLICT å¥ã®ãã©ã³ã¶ã¯ã·ã§ã³ã«ãã£ãŠç«¶åã¢ãŒãã§ããã¯ãããŠããè¡ããã©ã³ã¶ã¯ã·ã§ã³ãã¹ãããããããã«ããŸã 察象ãšãªãè¡ã¯ UPDATE æã®æ€çŽ¢æ¡ä»¶ãè©äŸ¡ããçµæã®è¡ã§ã SKIP CONFLICT 㯠SET TRANSACTION æã§ã¯äœ¿çšã§ããŸãã ããã©ã«ãã®ã¢ã¯ã»ã¹ãªãã·ã§ã³ã¯ å«ãŸããŠãããã©ã³ã¶ã¯ã·ã§ã³ã®åé¢ã¬ãã«ã§ãã åé¢ã¬ãã« (10-55) ã«æå®ãããã«ãŒã«ã«åŸã£ãŠæ±ºå®ãããŸã WHERE CURRENT OF {cursor-name ext-cursorname} æŽæ°ããè¡ã«äœçœ®æå®ãããã«ãŒãœã« ( ãŸãã¯æ¡åŒµã«ãŒãœã« ) ã®ååãæå®ããŸã ãªãŒãã£ãã察象ããŒãã«ãŸãã¯ãã¥ãŒã« cursor-name ãæå®ããå Žå㯠è¡ã® FETCH ãå«ããã©ã³ã¶ã¯ã·ã§ã³å ã§ UPDATE ãå®è¡ããå¿ èŠããããŸã æŽæ°ããåå㯠ã«ãŒãœã«å®£èšã® FOR UPDATE å¥ã«çŸããŠããå¿ èŠããã㟠93
ã [WITH control-query-default control-list] Control-query-default 㯠DML æçšã®ã€ã³ã©ã€ã³ CQD ã³ãã³ããæå®ããŸã CQD ã³ãã³ã㯠CONTROL QUERY DEFAULT ã§ã Control-list ã¯ å±æ§åãšãã®å€ãå«ã¿ãŸã attribute SQL/MX 屿§åã衚ãæååã§ SYSTEM_DEFAULTS ããŒãã«ã® ATTRIBUTE åã«å¯Ÿå¿ããŸã attr-value SQL/MX 屿§å€ãæå®ããæååã§ SYSTEM_DEFAULTS ããŒãã«ã® ATTR_VALUE åã«å¯Ÿå¿ããŸã [ statement-level-hint-list ] hint-list ããŒãã«ã®ãªã¹ããšæã®ãã³ãã§ã statement-hint { join-type-hint } ã§ã join-type-hint 2 ã€ã®è¡ãœãŒã¹ãçµåãããšãã«äœ¿çšããåçš®ã®çµåã¿ã€ãã®å®è£ ã匷å¶ãŸãã¯æé€ãããã³ãã§ã 次ã®ãã¡ã®ããããã§ã { USE_HASHJOIN NO_HASHJOIN USE_MERGEJOIN NO_MERGEJOIN USE_NESTEDJOIN NO_NESTEDJOIN } USE_HASHJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ããã·ã¥çµåã䜿çšããããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããã·ã¥çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããã ãã倧ããªçµåããã¯ããŒã³ãšããã·ã¥çµåãããŸã ãã®ãšã 2 ã€ã®ããŒãã«ã®ãã¡ 1 ã€ãå éšããŒãã«ã« ãã®ä»ãå€éšããŒãã«ãšãªããŸã è¡ãœãŒã¹ãããã·ã¥çµåã䜿çšããŠçµåã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_HASHJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ããã·ã¥çµåã䜿çšããªãããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããã·ã¥çµåãããŸãã å¥ã®è¡ãœãŒã¹ãšã¯ ãã¹ãããçµåãŸãã¯ããŒãžçµåã§çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããããšã¯ãªã ãã倧ããªçµåããã¯ããŒã³ãšããã·ã¥çµåãããããšããã 94
ãŸãã ãã ã ããã㯠ãã¹ãããçµåãŸãã¯ããŒãžçµåã§çžäºã«çµåãããå¯èœæ§ããããŸã è¡ãœãŒã¹éã®ããã·ã¥çµåãæé€ã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã USE_MERGEJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã 2 ã€ã®è¡ãœãŒã¹éã®çµåã« ããŒãžçµåã䜿çšããããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããŒãžçµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããã ãã倧ããªçµåããã¯ããŒã³ãšããŒãžçµåãããŸã ãã®ãšã 2 ã€ã®ããŒãã«ã®ãã¡ 1 ã€ãå éšããŒãã«ã« ãã®ä»ãå€éšããŒãã«ãšãªããŸã è¡ãœãŒã¹ãããŒãžçµåã䜿çšããŠçµåã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_MERGEJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ããŒãžçµåã䜿çšããªãããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšããŒãžçµåãããŸãã å¥ã®è¡ãœãŒã¹ãšã¯ ãã¹ãããçµåãŸãã¯ããã·ã¥çµåã§çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããããšã¯ãªã ãã倧ããªçµåããã¯ããŒã³ãšããŒãžçµåãããããšããããŸãã ãã ã ããã㯠ãã¹ãããçµåãŸãã¯ããã·ã¥çµåã§çžäºã«çµåãããå¯èœæ§ããããŸã è¡ãœãŒã¹éã®ããŒãžçµåãæé€ã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã USE_NESTEDJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã 2 ã€ã®è¡ãœãŒã¹éã®çµåã« ãã¹ãããçµåã䜿çšããããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ãå éšããŒãã«ãšã㊠å¥ã®è¡ãœãŒã¹ãšãã¹ãããçµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããã ãã倧ããªçµåããã¯ããŒã³ãšãã¹ãããçµåãããŸã ãã®ãšã 2 ã€ã®ããŒãã«ã®ãã¡ 1 ã€ãå éšããŒãã«ã« ãã®ä»ãå€éšããŒãã«ãšãªããŸã è¡ãœãŒã¹ããã¹ãããçµåã䜿çšããŠçµåã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_NESTEDJOIN (table-1 [, table-2]) ãªããã£ãã€ã¶ãŒã«å¯Ÿã è¡ãœãŒã¹éã®çµåã« ãã¹ãããçµåã䜿çšããªãããã«æç€ºããŸã ãã³ãã« 1 ã€ã®ããŒãã«åç §ã®ã¿ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯å¥ã®è¡ãœãŒã¹ãšãã¹ãããçµåãããŸãã å¥ã®è¡ãœãŒã¹ãšã¯ ããã·ã¥çµåãŸãã¯ããŒãžçµåã§çµåãããŸã ãã³ãã« 2 ã€ã®ããŒãã«åç §ãæå®ãããŠããå Žå æå®ãããããŒãã«ã¯çžäºã«çŽæ¥çµåãããããšã¯ãªã ãã倧ããªçµåããã¯ããŒã³ãšãã¹ãããçµåãããããšããããŸãã ãã ã ããã㯠ããã·ã¥çµåãŸãã¯ããŒãžçµåã§çžäºã«çµåãããå¯èœæ§ããããŸã è¡ãœãŒã¹éã®ãã¹ãããçµåãæé€ã§ããªãå Žå ã³ã³ãã€ã©ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã table-1, table-2 95
次ã®ãã¡ã® 1 〠: ãã³ããæå®ããã SQL æã§åç §ãã MX ãŸã㯠MP ããŒãã«ã® éšå修食å å®å šä¿®é£Ÿå ãŸãã¯çžé¢å MP ãšã€ãªã¢ã¹åãå¯èœã§ã table-hint 次ã®ããããã®å€ããšããŸã { access-path-hint cardinality-hint selectivityhint } access-path-hint SQL æäžã®ããŒãã«åç §çšãã¹ãžã®ã¢ã¯ã»ã¹ã匷å¶ãŸãã¯æé€ãããã³ãã§ã 次ã®ããããã®å€ããšããŸã { BASETABLE table NO_BASETABLE table INDEX table (index-list) NO_INDEX table (index-list) INDEXJOIN table (index-list) NO_INDEXJOIN table (index-list) } BASETABLE SQL æäžã®é¢é£ããŒãã«åç §ã«å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ã匷å¶ããŸã å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ã匷å¶ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã NO_BASETABLE SQL æäžã®é¢é£ããŒãã«åç §ã«å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ã䜿çšããªãããã«ããŸã å®ããŒãã«ã®ã¢ã¯ã»ã¹ãã¹ãæé€ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯ãã³ããç¡èŠã èŠåãçºè¡ããŸã INDEX table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã« æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ã匷å¶ããŸã æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ã䜿çšã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã NO_INDEX table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã«ã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ã䜿çšããªãããã«ããŸã ã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ãæé€ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã NO_INDEX ãã³ãã«ã€ã³ããã¯ã¹ã®ãªã¹ããæå®ãããŠããå Žå æå®ããããã¹ãŠã®ã€ã³ããã¯ã¹ã®ã€ã³ããã¯ã¹ã¢ã¯ã»ã¹ãã¹ãæé€ãããŸã INDEXJOIN table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã« æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ã匷å¶ããŸã ã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ã䜿çšã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã INDEXJOIN ãã³ãã«ã€ã³ããã¯ã¹ã®ãªã¹ããæå®ãããŠããå Žå ãããã®ãã¡æé©ãªã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ãéžæãããŸã NO_INDEXJOIN table(index-list) SQL æäžã®é¢é£ããŒãã«åç §ã« æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ãã 96
ã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ã䜿çšããªãããã«ããŸã æå®ãããã€ã³ããã¯ã¹ã䜿çšããã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ãæé€ã§ããªãå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ã ããŒãã«ãžã®æé©ãªã¢ã¯ã»ã¹ãã¹ãéžæããŸã NO_INDEXJOIN ãã³ãã«ã€ã³ããã¯ã¹ã®ãªã¹ããæå®ãããŠããå Žå æå®ããããã¹ãŠã®ã€ã³ããã¯ã¹ã®ã€ã³ããã¯ã¹çµåã¢ã¯ã»ã¹ãã¹ãæé€ãããŸã Table 次ã®ãã¡ã® 1 〠: ãã³ããæå®ããã SQL æã§åç §ãã MX ãŸã㯠MP ããŒãã«ã® éšå修食å å®å šä¿®é£Ÿå ãŸãã¯çžé¢å MP ãšã€ãªã¢ã¹åãå¯èœã§ã index-list ãŠãŒã¶ãŒäœæãŸãã¯ã·ã¹ãã äœæã®ã€ã³ããã¯ã¹ã®ãªã¹ãã§ã ååšããªãã€ã³ããã¯ã¹ ããŒã¿ããªãã€ã³ããã¯ã¹ ãŸãã¯ããŒãã«åç §ã«é¢é£ããªãã€ã³ããã¯ã¹ãæå®ãããå Žå ãªããã£ãã€ã¶ãŒã¯èŠåãçºè¡ããŸã cardinality-hint ãªããã£ãã€ã¶ãŒã« é¢é£ããããŒãã«åç §ã®ã³ã¹ãèšç®ã§ æå®ããè¡ã®ã«ãŒãã£ããªãã£ã䜿çšããããæç€ºããŸã cardinality-value 1~922337203685477580 ã®æŽæ°å€ã§ã ãã®ç¯å²å€ã®å€ã å°æ°ãæå®ãããå Žå ãªããã£ãã€ã¶ãŒã¯ cardinality-hint ãç¡èŠã èŠåãçºè¡ããŸã selectivity-hint ãªããã£ãã€ã¶ãŒã« é¢é£ããããŒãã«åç §ã®ã³ã¹ãèšç®ã§ æå®ããéžææ§ã䜿çšããããæç€ºããŸã selectivity-value 0.0~1.0 ã®å®æ°å€ã§ã 0.0 ããå°ããå€ã 1.0 ãã倧ããå€ãæå®ãããå Žå ãªããã£ãã€ã¶ãŒã¯ selectivity-hint ãç¡èŠã èŠåãçºè¡ããŸã åã蟌㿠SQL ããã°ã©ã ã§ã®æ€çŽ¢ã«ãã UPDATE æããã³äœçœ®æå®ã«ãã UPDATE æã«ã€ããŠè©³ãã㯠SQL/MX Programming Manual for C and COBOL ãåç §ããŠãã ãã ãªããã£ãã€ã¶ãŒã®ãã³ãã«ã€ããŠã®è©³çŽ°ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã 97
UPDATE STATISTICS æ UPDATE STATISTICS ã«é¢ããçæäºé (2-399) UPDATE STATISTICS ã®äŸ (2-404) UPDATE STATISTICS æã¯ ããŒãã«å ã® 1 ã€ãŸãã¯è€æ°ã®åã°ã«ãŒãã«é¢ãããã¹ãã°ã©ã çµ±èšæ å ±ãæŽæ°ããŸã ãããã®çµ±èšæ å ±ã¯ æé©åãããã¢ã¯ã»ã¹ãã©ã³ã®äœæã«äœ¿çšãããŸã UPDATE STATISTICS 㯠ãã¹ãã°ã©ã çµ±èšæ å ±ã«å ã SQL/MX ããŒãã«ã®ããŒãã£ã·ã§ã³ã«é¢ããç©ççµ±èšæ å ± ( ã€ã³ããã¯ã¹ã¬ã㫠空ã§ãªããããã¯æ°ããã³ EOF) ãçæããŸã UPDATE STATISTICS 㯠SQL/MX ã§æ¡åŒµãããæ©èœã§ã UPDATE STATISTICS FOR TABLE table [CLEAR on-clause] on-clause is: ON column-group-list CLEAR ON column-group-list [histogram-option]... column-group-list is: column-list [,column-list]... EVERY COLUMN [,column-list]... EVERY KEY [,column-list]... EXISTING COLUMN[S] [,column-list]... NECESSARY COLUMN[S] [,column-list]... column-list for a single-column group is: column-name (column-name ) column-name TO column-name (column-name) TO (column-name) column-list for a multicolumn group is: (column-name, column-name [,column-name]...) histogram-option is: GENERATE n INTERVALS SAMPLE [sample-option] [SET ROWCOUNT c ][sample-table-clause ] sample-option is: [r ROWS] RANDOM percent PERCENT [CLUSTERS OF blocks BLOCKS] PERIODIC size ROWS EVERY period ROWS sample-table-clause is: USING SAMPLE TABLE {WITH PARTITIONS sample-table-name } table çµ±èšæ å ±ãæŽæ°ããããŒãã«ãæå®ããŸã ããŒãã«ãåç §ããã«ã¯ 次ã®ååã¿ã€ãã®ããããã䜿çšããŸã Guardian ç©çå ANSI è«çå DEFINE å ããŒã¿ããŒã¹ãªããžã§ã¯ãå (6-13) ãåç §ããŠãã ãã 98
CLEAR ããŒãã« table ã®äžéšãŸãã¯ãã¹ãŠã®ãã¹ãã°ã©ã ãåé€ããŸã ç¹å®ã®ãã¹ãã°ã©ã çµ±èšæ å ±ãæ°ããã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããªããªã£ãå Žåã« ãã®ãªãã·ã§ã³ã䜿çšããŸã column-group-list ãæå®ããªãå Žå table ã®ãã¹ãŠã®ãã¹ãã°ã©ã ãåé€ãããŸã column-group-list ãæå®ããå Žå ã°ã«ãŒããªã¹ãå ã®åã ããåé€ãããŸã ON column-group-list ãã¹ãã°ã©ã çµ±èšæ å ±ãã¯ãªã¢ãããªãã·ã§ã³ãä»ããŠãã¹ãã°ã©ã çµ±èšæ å ±ãçæãã 1 ã€ãŸãã¯è€æ°ã®åã°ã«ãŒã (column-group-list) ãæå®ããŸã ãã¹ãã°ã©ã ããŒãã«ã«æ ŒçŽãããçµ±èšæ å ±ãçæããã«ã¯ ON å¥ã䜿çšããå¿ èŠããããŸã ãããçç¥ããå Žå SQL/MX ããŒãã«ã®ç©ççµ±èšæ å ±ãçæãã NonStop SQL/MX ããèŠåã¡ãã»ãŒãžãè¿ãããŸã çµ±èšæ å ±ã®äœ¿çš (2-399) ãåç §ããŠãã ãã column-list EVERY COLUMN [, column-list ] EVERY KEY [, column-list ] EXISTING COLUMN[S] [, column-list ] NECESSARY COLUMN[S] [, column-list ] column-group-list ãå®çŸ©ããæ¹æ³ãæå®ããŸã åãªã¹ãã«ã¯ åäžåã°ã«ãŒããšè€æ°åã°ã«ãŒãã®äž¡æ¹ã瀺ãããŸã åäžåã°ã«ãŒã : column-name (column-name ) column-name TO column-name (column-name ) TO (column-name ) åã ã®åã åã ã®åã®ã°ã«ãŒããæå®ã§ããæ¹æ³ã§ã åã ã®åã®çµ±èšæ å ±ãçæããã«ã¯ ååããªã¹ãããŸã ããããã®åäžã®ååãã«ãã³ã§å²ãã§ ãŸãã¯ã«ãã³ãä»ããã«ãªã¹ããããªãã·ã§ã³ããããŸã è€æ°åã°ã«ãŒã : (column-name, column-name [,column-name ]...) è€æ°åã°ã«ãŒããæå®ããŸã è€æ°åçµ±èšæ å ±ãçæããã«ã¯ äžèšã®ããã«äžé£ã®åãã«ãã³å ã«ãŸãšããŸã åãåã°ã«ãŒãå ã«è€æ°å 1 ã€ã®åã®ååãæå®ããããšã¯ã§ããŸãã äžæã®åã°ã«ãŒãããšã« 1 ã€ã®ãã¹ãã°ã©ã ãçæãããŸã éè€ããã°ã«ãŒãã¯ç¡èŠãã åŠçãç¶è¡ããŸã åããŠãŒã¶ãŒããŒãã«ã«å¯Ÿã㊠UPDATE STATISTICS ãå床å®è¡ãããš ãã®ããŒãã«ã®æ°ããããŒã¿ã 以åã«çæããããŒãã«ã®ãã¹ãã°ã©ã ããŒãã«ã«æ ŒçŽãããããŒã¿ã«åã£ãŠä»£ãããŸã ON å¥ã§æå®ãããŠããªãåã°ã«ãŒãã®ãã¹ãã°ã©ã 㯠ãã¹ãã°ã©ã ããŒãã«ã§å€æŽãããªããŸãŸã§ã åã®æå®ã«ã€ããŠã®è©³çŽ°ã¯ åã®çµ±èšæ å ±ã®çæãšã¯ãªã¢ (2-400) ãåç §ããŠãã ãã 99
EVERY COLUMN EVERY COLUMN ããŒã¯ãŒã㯠table ã®åã ã®åãš ãã©ã€ããªããŒããã³ã€ã³ããã¯ã¹ãæ§æãããã¹ãŠã®è€æ°åã«ã€ããŠãã¹ãã°ã©ã çµ±èšæ å ±ãçæãããããšã瀺ããŸã ããšãã° table ã«ã¯å A B C D ãå®çŸ©ãããŠãã A B C ããã©ã€ããªããŒãæ§æããŸã ãã®å Žå ON EVERY COLUMN ãªãã·ã§ã³ã å A B C D ã®åäžåãã¹ãã°ã©ã ãš (A B C) ããã³ (A B) ã® 2 ã€ã®è€æ°åãã¹ãã°ã©ã ãçæããŸã EVERY COLUMN ãªãã·ã§ã³ã¯ EVERY KEY ãè¡ãåäœãè¡ãã»ã åã ã® åã«é¢ãã远å ã®çµ±èšæ å ±ãçæããŸã EVERY KEY EVERY KEY ããŒã¯ãŒã㯠ãã©ã€ããªããŒããã³ã€ã³ããã¯ã¹ãæ§æããåã«ã€ããŠãã¹ãã°ã©ã çµ±èšæ å ±ãçæãããããšã瀺ããŸã ããšãã° table ã«ã¯å A B C D ãå®çŸ©ãããŠããŸã ãã©ã€ããªããŒãå A B ããæ§æãããŠããå Žå (A B) A ããã³ B ã®çµ±èšæ å ±ãçæãããŸã ãã©ã€ããªããŒãå A B C ããæ§æãããŠããå Žå㯠(A B C) (A B) A B C ã®çµ±èšæ å ±ãçæãããŸã ãã©ã€ããªããŒãå A B C D ããæ§æãããŠããå Žå㯠(A B C D) (A B C) (A B) ããã³ A B C D ã®çµ±èšæ å ±ãçæãããŸã EXISTING COLUMN[S] EXISTING COLUMN[S] ãªãã·ã§ã³ã¯ çŸåšçµ±èšãååšãããã¹ãŠã®åäžåã°ã«ãŒããšè€æ°åã°ã«ãŒãçšã« ãã¹ãã°ã©ã çµ±èšãåçæãããããšã瀺ããŸã ããšãã° table ã«å A B C D ãå®çŸ©ãããŠãããšã ãã¹ãã°ã©ã çµ±èšã¯åã°ã«ãŒã A B C D (A B) ããã³ (B C D) çšã«çæãããŸã ãããã®åã°ã«ãŒãçšã«çµ±èšãåçæãããå Žå㯠UPDATE STATISTICS ã³ãã³ããå®è¡ãããšãã« EXISTING COLUMN[S] ãªãã·ã§ã³ãæå®ããŸã EXISTING COLUMN[S] ãªãã·ã§ã³ã¯ æ¢åã®ãã¹ãã°ã©ã ããŒã¿ã«äŸåããã®ã§ ãã¹ãã°ã©ã ããŒã¿ãå©çšã§ããªãå Žåã«ãã®ãªãã·ã§ã³ã䜿çšãããš èŠåã¡ãã»ãŒãžãè¿ããŸã NECESSARY COLUMN[S] NECESSARY COLUMN[S] ãªãã·ã§ã³ã¯ çµ±èšã 廿¢ ããããã¹ãŠã®åäžåã°ã«ãŒããšè€æ°åã°ã«ãŒãçšã« ãã¹ãã°ã©ã çµ±èšãåçæãããããšã瀺ããŸã ããŒã¿å€æŽã®éã æå®ããã ãããå€ ãè¶ ãã ããŒãã«ã®åäžåã°ã«ãŒããšè€æ°åã°ã«ãŒãã¯ å»æ¢ããããšå€æãããŸã ãã®ãããå€ã®ããã©ã«ã㯠15 ( ã€ãŸã 15 ããŒã»ã³ã ) ã§ã ããŒãã«ã®ãã¹ãã°ã©ã ããŒã¿ãå©çšã§ããªãå Žåã«ãã®ãªãã·ã§ã³ã䜿çšãããš èŠåã¡ãã»ãŒãžãè¿ããŸã SQL/MX ã ããŒãã«ã®å»æ¢ã«çžåœããåã°ã«ãŒããæ€åºã§ããªãå Žå æŽæ°ã®å¿ èŠãªãã¹ãã°ã©ã ããªããšããèŠåã¡ãã»ãŒãžãè¿ããŸã NECESSARY COLUMN[S] ãªãã·ã§ã³ã¯ ã¹ããŒãããŒãžã§ã³ 3000 以äžã®ãšãã®ã¿æå®ã§ããŸã ãã®ãªãã·ã§ã³ã¯ SQL/MP ããŒãã«ã§ã¯ãµããŒããããŸãã 100
histogram-option GENERATE n INTERVALS ãã¹ãã°ã©ã ãçŽ n åã®ééã§çæãããããã«æå®ãããªãã·ã§ã³å¥ã§ã çæãããééã®å®éã®æ°ã¯ n ã®æ°ããã倧ãããªãããšãå°ãããªãããšããããŸã ããŒãã«ã®ãµã€ãºãšããŒã¿åé ã«å¿ã㊠åãã¹ãã°ã©ã ã«ã¯ n åã®ééãå«ãŸããŸã NonStop SQL/MX 㯠ééã®æ°ãäžãããããš è¡ãåçã«åé ããããšããŸã n åã®éé㯠1 ãã 10000 ã®éã®æŽæ° (1 < n < 10000) ã«ããå¿ èŠããããŸãèšå®ããééã®æ°ã¯ ãã¹ãŠã®åã°ã«ãŒãã«äœ¿çšãããŸã ééã®æ°ãæå®ããªãå Žå ããŒãã«ãµã€ãºãšä»ã®èŠå ã«åºã¥ããŠã·ã¹ãã ã®ããã©ã«ãå€ãèªåçã«äžããããŸã æé©ãªééæ°ãã·ã¹ãã ãæ±ºå®ã§ããããã«ããããšããå§ãããŸã SAMPLE [sample-option ] [SET ROWCOUNT c ][sample-table-clause ] ããŒãã«ããããŒã¿ã®ãµãã»ãããåéããããã«ãµã³ããªã³ã°ã䜿çšããããã«æå®ãããªãã·ã§ã³å¥ã§ã UPDATE STATISTICS ã¯ äžæããŒãã«ã䜿çšããŠãµã³ãã«çµæãæ ŒçŽã ãã¹ãã°ã©ã ãçæããŸã 詳现㯠ãã¹ãã°ã©ã ããŒãã«ã®ãããã㣠(10-85) ãåç §ããŠãã ãã 远å ãªãã·ã§ã³ãªãã§ SAMPLE å¥ãæå®ããå Žå æå€§ 200 äžè¡ã§ ããŒãã«å ã®è¡ã® 2 ããŒã»ã³ããèªã¿åãããã«è¡ãµã³ãã«ã䜿çšãããŸã ROWCOUNT ãªãã·ã§ã³ãæå®ããå Žå NonStop SQL/MX 㯠æå€§ 200 äžè¡ã§ c ã® 2 ããŒã»ã³ããèªã¿åããŸã SAMPLE å¥ãæå®ããªãå Žå table ã«ã¯æå®ãããè¡ãå°ãªã ãŸãã¯ãµã³ãã«ãµã€ãºãã·ã¹ãã å¶éãã倧ãããªããŸã NonStop SQL/MX 㯠table ãããã¹ãŠã®è¡ãèªã¿åããŸã SAMPLE å¥ (7-9) ãåç §ããŠãã ãã sample-option [r ROWS] è¡ãµã³ãã«ã¯ ããŒãã«ãã r è¡ãèªã¿åãããã«äœ¿çšãããŸã å€ r 㯠ãŒã以äžã®æŽæ° (r 0) ã«ããå¿ èŠããããŸã ROWCOUNT å¥ãæå®ããå Žå r 㯠c ä»¥äž (r c) ã«ããå¿ èŠããããŸã ããŒã»ã³ã㯠r/c * 100 ã®åŒã§æ±ããããŸã RANDOM percent PERCENT [CLUSTERS OF blocks BLOCKS] NonStop SQL/MX ã«ããŒãã«ããã©ã³ãã ã«è¡ãéžæããããã«æç€ºããŸã å€ percent 㯠0~100 ã®å€ (0 < percent 100) ã«ããå¿ èŠããããŸã ããã« å°æ°ç¹ä»¥äžç¬¬ 4 äœãŸã§ã ããææã§ã ããšãã° å€ 0.00001 㯠0.0000 ãšèŠãªãã å€ 1.23456 㯠1.2345 ãšèŠãªãããŸã CLUSTERS OF blocks BLOCKS 101
ã¯ã©ã¹ã¿ãŒãæ§æãããããã¯æ°ãæå®ããŸã å€ block 㯠ãŒã以äžã®æŽæ° (blocks 0) ã«ããå¿ èŠããããŸã PERIODIC size ROWS EVERY period ROWS æåã® size ã®è¡æ°ãè¡ã®åæéããéžæããããã« NonStop SQL/MX ã«æç€ºããŸã å€ size 㯠ãŒããã倧ããå€ period 以äžã®æŽæ°ã«ããå¿ èŠããããŸã (0 < size period) æéã®ãµã€ãºã¯ period ã«å¯ŸããŠæå®ãããè¡æ°ã«ãã£ãŠå®çŸ©ãããŸã å€ period 㯠ãŒããã倧ããªæŽæ°ã«ããå¿ èŠããããŸã (period > 0) SET ROWCOUNT c ããŒãã«ã®è¡æ°ãæå®ãããªãã·ã§ã³å¥ã§ã å€ c 㯠ãŒã以äžã®æŽæ°ã«ããå¿ èŠããããŸã (c 0) ROWCOUNT å¥ãæå®ãããŠããªãå Žå NonStop SQL/MX 㯠æšå®ãŸã㯠SELECT COUNT(*) ã«ãã£ãŠããŒãã«å ã®è¡æ°ã決å®ããŸã SAMPLE å¥ (7-9) ãåç §ããŠãã ãã sample-table-clause USING SAMPLE TABLE WITH PARTITIONS äžæããŒãã«ãåå²ããããã« SQL/MX ã«æç€ºããŸã äžæããŒãã«ã¯ UPDATE STATISTICS ã³ãã³ããå®è¡ãããå®ããŒãã«ãšåãæ¹æ³ã§åå²ãããŸã USING SAMPLE TABLE sample-table-name äžæããŒãã«ãšã㊠sample-table-name ã§æå®ãããããŒãã«ã䜿çšããããã« SQL/MX ã«æç€ºããŸã æ³šèš : sample-table-clause 㯠SQL/MX ããŒãã«ã§ã®ã¿ãµããŒããããŠããŸã SQL/MP ããŒãã«ã§ã¯äœ¿çšã§ããŸãã 102
UPGRADE ãŠãŒãã£ãªã㣠UPGRADE ã«é¢ããçæäºé (2-409) UPGRADE ã®äŸ (2-409) UPGRADE 㯠MXCI ããå®è¡ã§ããæ§æããŒã¹ã®ãŠãŒãã£ãªãã£ã³ãã³ãã§ã UPGRADE 㯠SQL/MX ãœãããŠã§ã¢ããŒãžã§ã³ (MXV) ã®æ¢åã®ããŒãžã§ã³ã®ã¡ã¿ããŒã¿ãçŸåšã®ã¹ããŒãããŒãžã§ã³ã«å€æããŸã REPORTONLY ãªãã·ã§ã³ã䜿çšãããš æäœãå®éã«å®è¡ããã« æäœãå®è¡å¯èœãã©ããããã¹ãã§ããŸã UPGRADE ALL METADATA [ output-spec ] UPGRADE ALL METADATA IN CATALOG catalog [ RESTRICT CASCADE ] [ output-spec ] output-spec is: [ log-to-spec ] [ REPORTONLY ] log-to-spec is: { [ LOG TO ] OUTFILE oss-file [ CLEAR ] LOG TO HOMETERM } catalog RESTRICT CASCADE ã¡ã¿ããŒã¿ãã¢ããã°ã¬ãŒãããã«ã¿ãã°ã® ANSI åãæå®ããŸã catalog ã«ããã©ã«ãã¯ãããŸãã æå®ããã«ã¿ãã°ã®ã¿ã®ã¡ã¿ããŒã¿ã«ã¢ããã°ã¬ãŒããå¶éããŸã æå®ããã«ã¿ãã°ã«çŽæ¥ 鿥ã«é¢é£ããå šã«ã¿ãã°ã«ã¢ããã°ã¬ãŒããæ¡åŒµããŸã ããã©ã«ã㯠RESTRICT ã§ã output-spec åºåãªãã·ã§ã³ã«å¯Ÿå¿ããŸã æ³šèš : UPGRADE ãŠãŒãã£ãªãã£ã¯ L ã·ãªãŒãº J06.11 以éã® J ã·ãªãŒãº RVU ããã³ H06.22 以éã® H ã·ãªãŒãº RVU ãå®è¡ããŠããã·ã¹ãã ã§ã®ã¿äœ¿çšã§ããŸã 103
MXCI ã³ãã³ãã®äŸ MXCI ã³ãã³ãã䜿çšã㊠ã³ã³ãœãŒã«ããŒãžã§ã³ã® MXCI ãéå§ããŸã /mxutil/sys 1>mxci Hewlett Packard Enterprise NonStop(TM) SQL/MX Conversational Interface 3.4 (c) Copyright 2003-2015 Hewlett Packard Enterprise Development LP. >> MXCI ã»ãã·ã§ã³ã¯ EXIT ã³ãã³ãã䜿çšããŠåæ¢ã§ããŸã EXIT ã³ãã³ã (4-29) ãåç §ããŠãã ãã 以äžã®ã³ãã³ãã®å Žå mxci -i input.sql input.sql ã®å å®¹ã¯æ¬¡ã®ããã«èšè¿°ã§ããŸã drop table tab; create table tab(a INT); insert into tab values(10); select * from tab; 次ã®ã³ãã³ãã䜿çšããŠ å ¥åãã¡ã€ã«ã®çµæãå¥ã®ãã¡ã€ã«ã«æ ŒçŽã§ããŸã mxci -i inputfile >>outputfile 次ã«äŸã瀺ããŸã mxci -i input.sql >>result MXCI ã³ãã³ãã©ã€ã³ãªãã·ã§ã³-s ã®äŸ mxci -s inputfile.sql inputfile.sql ã®å å®¹ã¯æ¬¡ã®ããã«èšè¿°ã§ããŸã Create catalog tempcat; Create schema tempcat.tempsch; Set schema tempcat.tempsch; Create table sampletab(a int); Insert into sampletab values(10); Select * from sampletab; ã³ãã³ãå®è¡åŸã®çµæã¯ä»¥äžã®ããã«ãªããŸã Hewlett Packard Enterprise NonStop(TM) SQL/MX Conversational Interface 3.4 (c) Copyright 2003-2015 Hewlett Packard Enterprise Development LP. >>Create catalog tempcat; --- SQL operation complete. >>Create schema tempcat.tempsch; --- SQL operation complete. >>Set schema tempcat.tempsch; --- SQL operation complete. >>Create table sampletab(a int); --- SQL operation complete. >>Insert into sampletab values(10); --- 1 row(s) inserted. >>Select * from sampletab; A ----------- 10 104
--- 1 row(s) selected. >> 105
SET SESSION DEFAULT æ SET SESSION DEFAULT ã«é¢ããçæäºé SET SESSION DEFAULT ã®äŸ SET SESSION DEFAULT æã¯çŸåšã®ããã»ã¹ã®ã»ãã·ã§ã³ã¬ãã«ã®ããã©ã«ãèšå®ã倿ŽããŸã åã»ãã·ã§ã³ã«ã¯ å®è¡æã«èšå®ã§ããã»ãã·ã§ã³èªèº«ã®å±æ§ããããŸã ãã®å±æ§ã¯ã»ãã·ã§ã³ããšã«èšå®ã§ããŸã SET SESSION DEFAULT session-default-option session-default-option is: attribute {'attr-value'} attribute SQL/MX 屿§åã衚ãæååã§ã attr-value SQL/MX 屿§ã®å€ãæå®ããæååã§ã åŒçšç¬Šä»ãã®æååã§æå®ããå¿ èŠããããŸã SET SESSION DEFAULT ã®å±æ§ 次ã®è¡šã« ã»ãã·ã§ã³ããã©ã«ãã§ãµããŒãããã屿§ã瀺ããŸã 衚 27 SET SESSION DEFAULT ã®å±æ§ 屿§ ESP_IDLE_TIMEOUT 説æ ESP_IDLE_TIMEOUT 屿§ã¯å®è¡æã«èšå®ã§ããŸã ãã®å±æ§ãèšå®ãããš æå®ããã¿ã€ã ã¢ãŠãå€ ( ç§ ) ã«éããåŸã®äžå®æéã¢ã€ãã«ç¶æ ã«ãªã£ãŠãã ESP ã SQL/MX ã«ããåæãããŸã ESP ã®æå°ã®ã¿ã€ã ã¢ãŠãå€ã¯ 60 ç§ã§ã ESP_IDLE_TIMEOUT ã®ããã©ã«ãå€ã¯ 1800 ç§ã§ã ãã®å±æ§å€ããŒãã«èšå®ãããš ESP ãã¿ã€ã ã¢ãŠãããªããªããŸã æ³šèš : SQL/MX 3.4 ããåã®ãªãªãŒã¹ã§ã¯ ã¢ã€ãã«ç¶æ ã® ESP ã¯æã®å²ãåœãŠè§£é€ãã 1800 ç§åŸã«åæãããŸã SQL/MX 3.4 ãã ãŠãŒã¶ãã¿ã€ã ã¢ãŠãå€ãå¶åŸ¡ã§ããããã«ãªããŸãã 106
START_ESP_TIMEOUT_TIMER START_ESP_TIMEOUT_TIMER 㯠ESP_IDLE_TIMEOUT ã®åäœãå¶åŸ¡ããããã«äœ¿ããã ã»ãã·ã§ã³ããã©ã«ãã®å±æ§ã§ã 以äžã®å€ãèšå®ããã®ã«äœ¿ããŸã WHEN_STATEMENT_DEALLOCATED START_ESP_TIMEOUT_TIMER ããã®å€ã«èšå®ãããš æãå²ãåœãŠè§£é€ãããæç¹ãã ESP ã®ã¿ã€ã ã¢ãŠãã¿ã€ããŒãå§åããŸã ãããããã©ã«ãå€ã§ã WHEN_STATEMENT_EXECUTED START_ESP_TIMEOUT_TIMER ããã®å€ã«èšå®ãããš æã®å®è¡åŸããã« ESP ã®ã¿ã€ã ã¢ãŠãã¿ã€ããŒãå§åããŸã çµã¿èŸŒã¿åã® C/C++ ã¢ããªã±ãŒã·ã§ã³ãŸãã¯æãã£ãã·ã¥æ©èœã䜿ã JDBC/ODBC ã¢ããªã±ãŒã·ã§ã³ã§ã¯ ã»ãã·ã§ã³ããã©ã«ãã®å±æ§ ESP_IDLE_TIMEOUT ã§æå®ããã¿ã€ã ã¢ãŠãå€ã®çµéåŸã« ESP ãåæãããããã«ãããã ãã®ãªãã·ã§ã³ã䜿ãå¿ èŠããããŸã ã»ãã·ã§ã³ããã©ã«ãã®å±æ§ã«èšå®ãããŠããå€ãç¥ãã«ã¯ SHOWSET ã³ãã³ãã䜿ããŸã SHOWSET ã³ãã³ãã®è©³çŽ°ã¯ SHOWSET ã³ãã³ã (526 ããŒãž ) ãåç §ããŠãã ãã SET SESSION DEFAULT ã«é¢ããçæäºé ã¢ã€ãã«ç¶æ ã®ã¿ã€ã ã¢ãŠãå€ã¯æå°ã®ã¿ã€ã ã¢ãŠãå€ã§ã æå°ã®ã¿ã€ã ã¢ãŠãå€ãçµéãããŸã§ ESP ã¯åæ¢ãããŸãã ESP ã忢ããããŸã§ã« ãã®ã¿ã€ã ã¢ãŠãå€ããæéããããå ŽåããããŸã SET SESSION DEFAULT ã®äŸ ESP_IDLE_TIMEOUT 屿§å€ã 60 ã«èšå®ããã«ã¯ 次ã®ã³ãã³ãã䜿ããŸã set session default esp_idle_timeout 60 ; START_ESP_TIMEOUT_TIMER ã®å€ã WHEN_STATEMENT_DEALLOCATED ã«èšå®ããã«ã¯ 次ã®ã³ãã³ãã䜿ããŸã set session default START_ESP_TIMEOUT_TIMER WHEN_STATEMENT_DEALLOCATED ; 107
SHOWSET ã³ãã³ã SHOWSET ã³ãã³ã㯠SET SESSION DEFAULT æ ã䜿çšããŠèšå®ãã ã»ãã·ã§ã³ã®ããã©ã«ã屿§å€ã衚瀺ããŸã SHOWSET showset-option showset-option is: DEFAULTS DEFAULTS ALL DEFAULT [attribute-name] DEFAULTS ALL ãã¹ãŠã®ã»ãã·ã§ã³ã®ããã©ã«ã屿§å€ã衚瀺ããŸã DEFAULT [attribute-name] ãã¹ãŠã®ã»ãã·ã§ã³ã®ããã©ã«ã屿§å€ã衚瀺ããŸã 108
SHOWSTATS ã³ãã³ã SHOWSTATS ã³ãã³ã㯠ããŒãã«ã®åããçµ±èšæ å ±ãååŸããŸã MXCI ãŸãã¯åã蟌ã¿ããã°ã©ã ã䜿çšããŠãã®ã³ãã³ããå®è¡ã§ããŸã SHOWSTATS FOR TABLE tablename ON column-spec [DETAIL] column-spec is: EVERY KEY [columnname,columnname...] EVERY COLUMN EXISTING COLUMN[S] NECESSARY COLUMN[S] column1 TO column2 column-set column-set is: column-set-member [, column-set-member...] column-set-member is: columnname multi-column-group multi-column-group is:(columnname1, columnname2...) DETAIL ãã¹ãã°ã©ã ID ééæ° è¡ã®ç·æ° åèš UEC åå åééã®äœãå€ãšé«ãå€ãå«ã詳现ãªçµ±èšæ å ±ã衚瀺ããŸã EVERY KEY ããŒãŸãã¯ããŒã®äžéšãšãªã£ãŠããååã®çµ±èšæ å ±ã衚瀺ããŸã EVERY COLUMN çµ±èšæ å ±ãå©çšã§ããããŒãã«ã®ååã®çµ±èšæ å ±ã衚瀺ããŸã EXISTING COLUMN[S] çµ±èšæ å ±ãå©çšã§ããããŒãã«ã®ååããã³è€æ°åã°ã«ãŒãã®çµ±èšæ å ±ã衚瀺ããŸã NECESSARY COLUMN[S] çµ±èšæ å ±ã 廿¢ ããã ããŒãã«ã®åäžåããã³è€æ°åã°ã«ãŒãã®çµ±èšæ å ±ã衚瀺ããŸã SQL/MX ã 廿¢ãããããŒãã«ã®åã°ã«ãŒããæ€åºã§ããªãå Žå è¡ãè¿ããŸãã ãããã å©çšã§ãããã¹ãã°ã©ã ããŒã¿ããªãå Žå ãã®ãªãã·ã§ã³ã䜿çšãããš ããŒãã«ã«å©çšã§ãããã¹ãã°ã©ã ããªããšã㊠è¡ãè¿ããŸãã NECESSARY COLUMN[S] ãªãã·ã§ã³ã¯ ã¹ããŒãããŒãžã§ã³ 3000 以äžã®ãšãã®ã¿æå®ã§ããŸã ãã®ãªãã·ã§ã³ã¯ SQL/MP ããŒãã«ã§ã¯ãµããŒããããŸãã column1 TO column2 ããŒãã«ã® column1 ãã column2 ãŸã§ã®å©çšå¯èœãªçµ±èšæ å ±ã衚瀺ããŸã 109
FIXUP æäœ FIXUP æäœã«é¢ããçæäºé (5-11) FIXUP æäœã®äŸ (5-11) FIXUP 㯠mxtool ããå®è¡ãã OSS ã³ãã³ãã©ã€ã³ãŠãŒãã£ãªãã£ã§ãã éåžžã®æäœã§ã¯ä¿®åŸ©ã§ããªã SQL/MX ããŒã¿ããŒã¹å ã®åé¡ã修埩ããŸã mxtool utility-operation utility-operation is: FIXUP {guardian-option object-option} guardian-option is LABEL guardian-file g-opts comment: object-type object-name o-opts }End comment guardian-file is [\node.]$volume.subvolume.filename g-opts is: { -a= { on off } -rb -rc -rt -ru } object-option is object-type object-name o-opts object-type is { TABLE INDEX SEQUENCE } object-name is catalog.schema.object o-opts is:{ -rc -rt -ru } [-d] guardian-file g-opts 倿Žãã Guardian ãã¡ã€ã«ãæå®ããŸã ããªã¥ãŒã åããã³ãµãããªã¥ãŒã åã§å®å šä¿®é£Ÿããå¿ èŠããããŸã ååã«ç¹æ®æå ( \ $ ãªã© ) ãå«ãŸããã®ã§ ãããã®æåã®åã«ããã¯ã¹ã©ãã·ã¥ (\) ãä»ããã 4 éšæ§æã®ååå šäœãåäžåŒçšç¬Šã§å²ãå¿ èŠããããŸã 次ã«äŸã瀺ããŸã \\node2.\$data3.sales.mytable or '\node2.$data3.sales.mytable'. Guardian ãã¡ã€ã«ã«å©çšã§ãããªãã·ã§ã³ã§ã AUDIT 屿§ãåãæ¿ãã BROKEN 屿§ããªãã«ãã CORRUPT 屿§ããªãã«ãã åå®çŸ©ã¿ã€ã ã¹ã¿ã³ãããªã»ãããã äžæŽåãªã©ãã«ããã³ã¡ã¿ããŒã¿ãªããžã§ã¯ã UID ãä¿®æ£ãã { -a= { on off } ã©ãã«ã®ãªãŒãã£ãã屿§ãåãæ¿ããŸã ãªãŒãã£ãã屿§ã ON ã§ããã®ã« ãªã³ã«ããèŠæ±ãçºè¡ããå Žå FIXUP ã¯ãªãŒãã£ãã屿§ããã§ã«ãªã³ã§ããããšã瀺ãèŠåãè¿ããŸã ãªãŒãã£ãã屿§ã OFF ã§ããã®ã« 㪠110
ãã«ããèŠæ±ãçºè¡ããå Žå FIXUP ã¯èŠåãè¿ããŸã ãã®æäœãå®è¡ããã«ã¯ Super ID ã®ãªãŒããŒã§ããããšãå¿ èŠã§ã ããŒãã«ã®ãªãŒãã£ããããªãã«ããå Žå ãªã³ã©ã€ã³ãã³ããç¡å¹ã«ãªããŸã FIXUP æäœã®å®äºåŸ ããŒãã«ã®ãã¹ãŠã®ããŒãã£ã·ã§ã³ã«å¯Ÿã㊠æ°ãã TMF ãªã³ã©ã€ã³ãã³ããå®è¡ããå¿ èŠããããŸã -rb ã©ãã«äžã§ BROKEN 屿§ããªãã«ããŸã BROKEN 屿§ããã§ã«ãªã»ãããããŠããã®ã« ãªã»ããããèŠæ±ãçºè¡ããå Žå FIXUP ã¯èŠåãè¿ããŸã 泚æ : ã©ãã«äžã® BROKEN 屿§ããªã»ãããã -rb æäœã¯ ãªã¹ã¯ã䌎ãæäœã«ãªãå¯èœæ§ããããŸã ãã¡ã€ã«ãå®éã«å£ããŠãã 屿§ããªã»ããããå Žå ããŒã¿ããŒã¹ã®æŽåæ§ãåé¡ã«ãªããŸã ããã« DP2 㯠å£ãããã¡ã€ã«ã«æ¬¡åã¢ã¯ã»ã¹ããããšãããšãã« ãã®å±æ§ããªã»ããããŸã -rc ã©ãã«å ã® CORRUPT 屿§ãš ç¹å®ã®ããŒãã£ã·ã§ã³ã«å¯Ÿãã PARTITIONS ã¡ã¿ããŒã¿ããŒãã«å ã® CORRUPT 屿§ããªãã«ããŸã ããŒãã£ã·ã§ã³ã§ãã§ã« CORRUPT 屿§ããªãã«ãªã£ãŠããã®ã« ãªãã«ããèŠæ±ãçºè¡ããå Žå FIXUP ã¯èŠåãè¿ããŸã 泚æ : ã©ãã«äžã® CORRUPT 屿§ããªãã«ãã-rc æäœã¯ ãªã¹ã¯ã䌎ãæäœã«ãªãå¯èœæ§ããããŸã ãã¡ã€ã«ãå®éã«ç ŽæããŠãã 屿§ããªã»ããããå Žå ããŒã¿ããŒã¹ã®æŽåæ§ãåé¡ã«ãªããŸã -rt -ru ã©ãã«ã®åå®çŸ©ã¿ã€ã ã¹ã¿ã³ãã OBJECTS ããŒãã«ã®å€ã«èšå®ããŸã ããŒãã£ã·ã§ã³ã«æ£ããåå®çŸ©æéããã§ã«ããã®ã« ãªã»ããããèŠæ±ãçºè¡ããå Žå FIXUP ã¯èŠåãè¿ããŸã ãã®ãªãã·ã§ã³ã¯ãŸã Record Control Block ã®ããŒãžã§ã³ã«ççŸãããã° ãããä¿®æ£ããŸã ãã®èŠæ±ãå®è¡ããã«ã¯ ãªããžã§ã¯ããŸã㯠Super ID ã®ãªãŒããŒã§ããããšãå¿ èŠã§ã ã¡ã¿ããŒã¿ã®ããŒãã£ã·ã§ã³åã«äžèŽããããã« ãªãœãŒã¹ãã©ãŒã¯å ã®ããŒãã£ã·ã§ã³åãèšå®ããŸã NonStop SQL/MX 㯠ãªãœãŒã¹ãã©ãŒã¯å ã®ã«ã¿ãã° ã¹ããŒã ãªããžã§ã¯ã UID ã ã¡ã¿ããŒã¿ã§èŠã€ãã£ãå€ã«çœ®ãæã 111
ãŸã object-type é¢é£ä»ãããã Guardian ãã¡ã€ã«ããã SQL ããŒãã« ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒãŸãã¯ã€ã³ããã¯ã¹ã§ã object-name o-opts 倿Žãã SQL ãªããžã§ã¯ããæå®ããŸã ã«ã¿ãã°ããã³ã¹ããŒãåã§å®å šä¿®é£Ÿããå¿ èŠããããŸã SQL ãªããžã§ã¯ãã§å©çšã§ãããªãã·ã§ã³ã§ã CORRUPT 屿§ããªãã«ãã åå®çŸ©ã¿ã€ã ã¹ã¿ã³ãããªã»ãããã { -rc [-d] } ã©ãã«äžããã³ PARTITIONS ã¡ã¿ããŒã¿ããŒãã«å ã® CORRUPT 屿§ããªãã«ããŸã FIXUP 㯠ãªããžã§ã¯ãã«é¢é£ä»ããããããŒã«ã«ããŒãã£ã·ã§ã³ããã¹ãŠãªã»ããããããšããŸã ãªããžã§ã¯ãããªã¢ãŒãããŒãäžã«ããŒãã£ã·ã§ã³ãæã€å Žå FIXUP ã¯èŠåã衚瀺ã ç¶è¡ããŸã ã©ãã«ãŸãã¯ã¡ã¿ããŒã¿ãžã®æŽæ°ã倱æããå Žå æäœã¯å€±æããŸã ããŒãã£ã·ã§ã³ã®ããããã§ãã§ã« CORRUPT 屿§ããªãã«ãªã£ãŠããå Žå FIXUP ã¯ãªã»ããããå¿ èŠã®ããããŒãã£ã·ã§ã³ããªã»ããããŸã -d ãªãã·ã§ã³ãæå®ããå Žå FIXUP 㯠ãªããžã§ã¯ãã«é¢é£ä»ãããããã¹ãŠã®äŸåé¢ä¿ã® CORRUPT 屿§ããªã»ããããŸã ããŒãã«äŸåé¢ä¿ã«ã¯ ã€ã³ããã¯ã¹ãšããªã¬ãŒäžæããŒãã«ãå«ãŸããŸã ã€ã³ããã¯ã¹ã«ã¯äŸåé¢ä¿ããªãã®ã§ -d ãªãã·ã§ã³ã¯ç¡èŠãããŸã ãã®èŠæ±ãå®è¡ããã«ã¯ Super ID ã®ãªãŒããŒã§ããããšãå¿ èŠã§ã ãªã¢ãŒãããã³ããŒã«ã«ã®äž¡æ¹ã®ããŒãã£ã·ã§ã³ã§ CORRUPT 屿§ããªã»ããã§ããŸã ã¡ã¿ããŒã¿ãšã©ãã«å±æ§ãäžèŽããªãå Žå FIXUP ã¯äž¡æ¹ã®å€ããªãã«ããŸã 泚æ : ã©ãã«äžã® CORRUPT 屿§ããªãã«ãã-rc æäœã¯ ãªã¹ã¯ã䌎ãæäœã«ãªãå¯èœæ§ããããŸã ãã¡ã€ã«ãå®éã«ç ŽæããŠãã 屿§ããªã»ããããå Žå ããŒã¿ããŒã¹ã®æŽåæ§ãåé¡ã«ãªããŸã { -rt [-d] } ãªããžã§ã¯ãã®ããŒã«ã«ããŒãã£ã·ã§ã³ã®ãããããŸãã¯ãã¹ãŠã®åå®çŸ©ã¿ã€ã ã¹ã¿ã³ãã OBJECTS ã¡ã¿ããŒã¿ããŒãã«ã«ä¿åãããå€ã«èšå®ããŸã FIXUP ãã¡ã¿ããŒã¿ããåå®çŸ©æéãæœåºã§ããªãå Žå ãšã©ãŒãè¿ãããŸã FIXUP 㯠ããŒã«ã«ããŒãäžã® ãªããžã§ã¯ããæ§æãããã¹ãŠã®ããŒãã£ã·ã§ã³ãæŽæ°ããŸã 112
ããŒãã£ã·ã§ã³ã®ã¿ã€ã ã¹ã¿ã³ããã¡ã¿ããŒã¿ãšåãå Žå FIXUP ã¯ æŽæ°ããå¿ èŠã®ããããŒãã£ã·ã§ã³ã®ã¿ã€ã ã¹ã¿ã³ãã®æŽæ°ãç¶ããŸã ã©ãã«ãžã®æŽæ°ã倱æããå Žå æäœã¯å€±æããŸã { -ru [-d] } ã¡ã¿ããŒã¿ã® UID å€ã«äžèŽããããã« ãªãœãŒã¹ãã©ãŒã¯å ã® UID å€ãèšå®ããŸã NonStop SQL/MX 㯠ãªãœãŒã¹ãã©ãŒã¯å ã®ã«ã¿ãã° ã¹ããŒã ãªããžã§ã¯ã UID ã ã¡ã¿ããŒã¿ã§èŠã€ãã£ãå€ã«çœ®ãæããŸã -d ãªãã·ã§ã³ãèŠæ±ããå Žå FIXUP 㯠ãªããžã§ã¯ãã«é¢é£ä»ãããããã¹ãŠã®äŸåé¢ä¿ã®ã¿ã€ã ã¹ã¿ã³ããæŽæ°ããŸã ããŒãã«äŸåé¢ä¿ã«ã¯ ã€ã³ããã¯ã¹ãšããªã¬ãŒäžæããŒãã«ãå«ãŸããŸã åäŸåãªããžã§ã¯ãã¯ç¬èªã®åå®çŸ©ã¿ã€ã ã¹ã¿ã³ããããã®ã§ ããããã®ãªããžã§ã¯ãã¯ããããå¥ã ã®æéã«èšå®ãããŸã ãã®èŠæ±ãå®è¡ããã«ã¯ Super ID ã®ãªãŒããŒã§ããããšãå¿ èŠã§ã ã¡ã¿ããŒã¿ãšã©ãã«ã®ã¿ã€ã ã¹ã¿ã³ããäžèŽããªãå Žå èŠåã¯çºè¡ãããŸããã ã©ãã«å€ã¯ã¡ã¿ããŒã¿å€ã«èšå®ãããŸã 113
SQL/MX ãã«ã¹ãã§ãã¯ããŒã« ãã®æ©èœã¯ SQL/MX 3.3 以éã§é©çšã§ããŸã SQL/MX ãã«ã¹ãã§ãã¯ããŒã«ã¯ ã·ã¹ãã ã®ã¢ããã°ã¬ãŒããŸãã¯ãã©ãŒã«ããã¯ã詊ã¿ãåã« ã¡ã¿ããŒã¿ã®äžæŽåãæ£åžžãªæäœã劚ããç¶æ ãæ€èšŒã§ãã Java ããŒã¹ã®ããŒã«ã§ã ããã«ãã ã·ã¹ãã ã®ã¢ããã°ã¬ãŒããŸãã¯ãã©ãŒã«ããã¯ã詊ã¿ãåã« å ±åãããåé¡ã«å¯ŸåŠã§ããŸã ãã®ããŒã«ã¯ /usr/tandem/sqlmx/bin ãã£ã¬ã¯ããªã«ãããŸã ãã®ããŒã«ã¯ããŒã«ã«ã·ã¹ãã ã®ã¡ã¿ããŒã¿ã®æŽåæ§ãæ€èšŒããŸã ãªã¢ãŒãã·ã¹ãã ã®ã¡ã¿ããŒã¿ãæ€èšŒããã«ã¯ ãã® ( ãªã¢ãŒã ) ã·ã¹ãã ãããã®ããŒã«ãå®è¡ããå¿ èŠããããŸã SQL/MX ãã«ã¹ãã§ãã¯ããŒã«ã¯ SQL/MX ãªãªãŒã¹ 3.3 ã®äžéšãšããŠå ¥æã§ããŸã ãªãªãŒã¹ 3.3 ããåã® SQL/MX ã«ã€ã³ã¹ããŒã«ããŠå®è¡ããããšãã§ããŸã ãµããŒããããæå°ããŒãžã§ã³ã¯ SQL/MX 2.3.4 ã§ã ãã®ããŒã«ãã€ã³ã¹ããŒã«ããŠå®è¡ããæ¹æ³ã«ã€ããŠè©³ãã㯠SQL/MX Release 3.4 Installation and Upgrade Guide ãåç §ããŠãã ãã SQL/MX ãã«ã¹ãã§ãã¯ããŒã«ã®ãšã©ãŒã¡ãã»ãŒãžããã³ç¶æ ã«ã€ããŠè©³ãã㯠SQL/MX Release 3.4 Messages Manual ãåç §ããŠãã ãã SQL/MX ãã«ã¹ãã§ãã¯ããŒã«ã¯ æ¬¡ã®æ€èšŒã·ããªãªããµããŒãããŠããŸã äžè²«æ§ã®ãªãã·ã¹ãã ã«ã¿ãã°å ã·ã¹ãã ã«ã¿ãã°ã¯ INITIALIZE SQL ã³ãã³ãã«ãã£ãŠ NONSTOP_SQLMX_<system> ãšããååã§äœæãããŸã ããšãã° \FUNKY ã®ã·ã¹ãã ã«ã¿ãã°ã¯ NONSTOP_SQLMX_FUNKY ãšãªããŸã ãã®åŸ ã·ã¹ãã ã®ååã倿Žãããå Žå ã·ã¹ãã ã«ã¿ãã°åã¯å ã®ååã®ãŸãŸã§ãã 倿Žãããã·ã¹ãã åãšå¯Ÿå¿ããŸãã mxtool fixrcb ããã³ UGDG ã¯ãããèªèã§ããŸãã ã·ã¹ãã ã«ã¿ãã°åã«äžè²«æ§ããªããŠã æ€èšŒã¯å®è¡ãããŸãã ããŒã«ã«ã·ã¹ãã ãšãªã¢ãŒãã·ã¹ãã ã®ã«ã¿ãã°ç»é²ã®äžæŽå ããšãã° ããŒã«ã«ã·ã¹ãã ã®ã«ã¿ãã°ã«ã¯ãªã¢ãŒãã·ã¹ãã ãžã®åç §ããããŸãã ãªã¢ãŒãã·ã¹ãã ã«ã¯å¯Ÿå¿ããã«ã¿ãã°åç §ããããŸãã å®çŸ©ã¹ããŒãããŒãã«ã®æ¬ èœ ããšãã° ãã¹ãŠã®å®çŸ©ã¹ããŒãããŒãã«ãå¿ èŠãªå Žæã«ååšãããã©ãã Guardian ã®å Žæããªããªããžã§ã¯ã ããšãã° ããŒãã£ã·ã§ã³ãæ¬ èœããŠãã ã·ã¹ãã å ã«ãªãŒããŒãããªããªããžã§ã¯ã SQL/MX ãã¡ã€ã«ã®ã©ãã«ã®æ¬¡ã®ãã©ã°ãæãŸããå€ã§ãããã©ããããã§ãã¯ããŸã ãªãŒãã£ãã察象 ç Žå£ ã¯ã©ãã·ã¥ã©ãã« ç Žæ ã¯ã©ãã·ã¥ãªãŒãã³ REDO ãå¿ èŠ ããŒã«ãã©ã¯ãŒããå¿ èŠ UNDO ãå¿ èŠ ããã³åå©çšãããŠããªã空ãé å ã¡ã¿ããŒã¿ããŒãã«ãåç §ãããã¥ãŒ ããšãã° å®çŸ©ã¹ããŒãããŒãã«ãŸãã¯ç¹å®ã®ã·ã¹ãã ã«ã¿ãã°ããŒãã«ã«å¯Ÿãããã¥ãŒ ãã㯠UPGRADE ã³ãã³ãããã³ DOWNGRADE ã³ãã³ãã®æ£åžžãªå®è¡ã劚ããç¶æ ã§ã DOWNGRADE ã®ã¿ãŒã²ããããŒãžã§ã³ããé«ããªããžã§ã¯ãæ©èœããŒãžã§ã³ (OFV) 114
ãæã€ããŒã¿ããŒã¹ãªããžã§ã¯ã ãã㯠DOWNGRADE ã³ãã³ãã®æ£åžžãªå®è¡ã劚ããç¶æ ã§ã ãªã¢ãŒãã«ã¿ãã°ã® MXANCHOR ãã¡ã€ã«ã®ããŒããã·ã§ã³ ããã«ãã MXANCHOR ãã¡ã€ã«ã«å¯ŸããŠäžé©åãªããŒããã·ã§ã³ãæã€ãªã¢ãŒãã«ã¿ãã°ã®ãªããžã§ã¯ããåç §ããã¯ãšãªãäºæããªãåäœãšãªããŸã SQL/MX ãã«ã¹ãã§ãã¯ããŒã«ã¯ OSS ããã³ããããæ¬¡ã®ã³ãã³ãã䜿çšããŠå®è¡ã§ããŸã SqlMxHealthCheck [help-option] [version-option] [command-option-list] help-option:-help version-option:-version command-option-list : command-option [ command-option...] command-option: { { -all } { -c -catalog } <catalog-name> } [ { -t -targetversion } <version> ] [ log-option ] log-option: [ -logl { level } ] [ -log <logfile> ] level:{info minor} help-option å€ã¯ -help ã§ã ãã®ããŒã«ã®ãã«ãããã¹ãã衚瀺ããŠçµäºããŸã version-option å€ã¯ -version ã§ã ãã®ããŒã«ã®ããŒãžã§ã³ã衚瀺ããŠçµäºããŸã command-option-list ã³ãã³ãã©ã€ã³ã«æå®ã§ããã³ãã³ããªãã·ã§ã³ã®ãªã¹ãã§ã commandoption-list ã«ã¯ 1 ã€ä»¥äžã® command-options ãæå®ã§ããŸã 次㮠command-options ãæå®ã§ããŸã ãããã®ã³ãã³ããªãã·ã§ã³ã§ã¯ 倧æåãšå°æåã¯åºå¥ãããŸãã -targetversion <version> ã·ã¹ãã ã®ã¢ããã°ã¬ãŒããŸãã¯ãã©ãŒã«ããã¯ãè¡ããã SQL/MX ã®ããŒãžã§ã³ãæå®ããŸã -all æå®ããå Žå ãã«ã¹ãã§ãã¯ããŒã«ã¯ãã¹ãŠã®ã«ã¿ãã°ã®ã¡ã¿ããŒã¿ãæ€èšŒããŸã -catalog <catalog-name> ã¡ã¿ããŒã¿ãæ€èšŒããã«ã¿ãã°åãæå®ããŸã æ³šèš : -all ãªãã·ã§ã³ãŸãã¯-catalog ãªãã·ã§ã³ãæå®ããå¿ èŠããããŸã äž¡æ¹ã®ãªãã·ã§ã³ãäžç·ã«æå®ããããšã¯ã§ããŸãã 115
åºåãããèå¥åã䜿çšããã«ã¿ãã°ãæå®ããå Žå㯠ã«ã¿ãã°åãäºéåŒçšç¬Šã§å²ãã§æå®ããå¿ èŠããããŸã ãã ã ãšã¹ã±ãŒãæå (\) ã䜿çšããŠåŒçšç¬Šãæå®ããå¿ èŠããããŸã ããšãã° ã«ã¿ãã°å xcat 㯠\ xcat\ ãšã㊠OSS ã³ãã³ãã©ã€ã³åŒæ°ã«æå®ããå¿ èŠããããŸã OSS ã³ãã³ãã©ã€ã³åŒæ°ã§ã®åºåãä»ãã®èå¥åã®æå® (6-56) ãåç §ããŠãã ãã -logl level æå®ããå Žå 衚瀺ãããæ å ±ã®ã¬ãã«ããã«ã¹ãã§ãã¯ããŒã«ã«ãã£ãŠå¶åŸ¡ãããŸã ã¬ãã«ã«ã¯ "info" ãŸã㯠"minor" ãæå®ã§ããŸã "info" ã®å Žå㯠æ å ±ã¡ãã»ãŒãž 軜埮ãªç¶æ ããã³é倧ãªç¶æ ãªã©ã®ãã¹ãŠã®æ å ±ãå ±åãããŸã "minor" ã®å Žå㯠軜埮ãªç¶æ ããã³é倧ãªç¶æ ã®ã¿ãå ±åãããŸã ãã°ã¬ãã«ãæå®ããªãå Žå ããã©ã«ãã®ã¬ãã«ã¯ info ã§ã -log <logfile> æå®ããå Žå SqlMxHealthCheck ã³ãã³ãã®åºåãæå®ããããã¡ã€ã«ã«æžã蟌ãŸããŸã ãã®ãªãã·ã§ã³ãçç¥ããå Žå åºåã¯ã³ã³ãœãŒã«ã«éãããŸã æå®ããã logfile ãååšããªãå Žå㯠ãã¡ã€ã«ãäœæãã åºåããã®ãã¡ã€ã«ã«æžã蟌ãŸããŸã æå®ããã logfile ãååšããå Žå åºåã¯æ¢åã®ãã¡ã€ã«ã®æ«å°Ÿã«è¿œå ãããŸã logfile ã¯æå¹ãª OSS ãã¹åã§ããå¿ èŠããããŸã 116
VERIFY æäœ VERIFY ã«é¢ããçæäºé (5-85) VERIFY ã®äŸ (5-87) VERIFY 㯠mxtool ããå®è¡ãã OSS ã³ãã³ãã©ã€ã³ãŠãŒãã£ãªãã£ã§ãã SQL/MX ã®ãªããžã§ã¯ãããã³ããã°ã©ã ããã¡ã€ã«ã©ãã« ãªãœãŒã¹ãã©ãŒã¯ ããã³ã¡ã¿ããŒã¿ã§äžè²«æ§ãæã£ãŠèšè¿°ãããŠãããã©ãããã¬ããŒãããŸã SQL/MX ãªãªãŒã¹ 3.2 以éã§ã¯ VERIFY æäœã«ãã£ãŠèŠªã®ãªã Guardian ãã¡ã€ã«ã®ãªã¹ããçæã§ããããã«ãªããŸãã 芪ã®ãªã Guardian ãã¡ã€ã«ãšã¯ ã¡ã¿ããŒã¿æ å ±ã SQLMX ããŒã¿ããŒã¹ããååŸã§ããªãæ¢åã® Guardian ãã¡ã€ã«ã§ã mxtool VERIFY { object-option [o-opts] file-option orphan-file-option} object-option is:ansi name of the object o-opts is:{ -sy } file option is:part guardian-file-name guardian-file-name is:[\node.]$volume.subvol.filename orphan-file-option is:-oo wildcard-guardian-file-name output wildcard-guardian-file-name is: Guardian file name, which includes the wild card character,*. output is: -f=oss-file-name object-option ããŒãã«ã®ãã¹ãŠã®ããŒãã£ã·ã§ã³ããã³äŸåããã€ã³ããã¯ã¹ã«å¯Ÿã㊠VERIFY ãå®è¡ããããã«æå®ããŸã catalog.schema.object -sy ããŒãã«ã®å®å šä¿®é£Ÿ ANSI åã§ã ååã® 3 ã€ã®éšåã®ããããã SQL/MX ã®äºçŽèªã§ããå Žå ãããäºéåŒçšç¬Šã§å²ãã§åºåãå¿ èŠããããŸã ãã®ãããªåºåãããéšåã§ã¯å€§æåãšå°æåãåºå¥ãããŸã 次ã«äŸã瀺ããŸã cat.sch."join".verify ã¯äžæŽåãæšæºåºåãã¡ã€ã«ã«æžã蟌ã¿ãŸã ããŒãã«ã®è¡æ°ãšã€ã³ããã¯ã¹ã®æ°ãšã«äžæŽåãããã°ã¬ããŒãããŸã file-option VERIFY ããã¡ã€ã«ã«å¯ŸããŠå®è¡ããããã«æå®ããŸã æå®ã§ããã®ã¯ããŒãã«ãªããžã§ã¯ãã®ã¿ã§ã orphan-file-option VERIFY ã芪ã®ãªã Guardian ãã¡ã€ã«ã®ååãã¬ããŒãããå¿ èŠãããããšã 117
æå®ããŸã guardian-file-name æ€èšŒããåäžã® Guardian ç©çãã¡ã€ã«åã§ã Guardian ãã¡ã€ã«åã®æå®ã«ã¯ ããŒã ããªã¥ãŒã ãµãããªã¥ãŒã ããã³ãã¡ã€ã«åãå«ããããšãã§ããŸã ããŒãåã¯ãªãã·ã§ã³ã§ã wildcard-guardian-file-name Guardian ãã¡ã€ã«åã®äžéšãšããŠã¯ã€ã«ãã«ãŒãæå * ãæå®ã§ããŸã 次ã«äŸã瀺ããŸã \dmr15.$*.*.* \dmr15.$data*.zsdv1*.part* OSS-file-name OSS ãã¡ã€ã«ã®ååã§ã -oo ãªãã·ã§ã³ã䜿çšããå Žå VERIFY ã¯èŠªã®ãªã Guardian ãã¡ã€ã«ã®ååããã®ãã¡ã€ã«ã«æžã蟌ã¿ãŸã ( åè¡ã« 1 ã€ã®èŠªã®ãªããã¡ã€ã«ã®åå ) [\node.]$volume.subvol.filename ã¯ãšãªå¯Ÿè±¡ã®ããŒãã£ã·ã§ã³ãèšè¿°ãã修食ããã Guardian ãã¡ã€ã«åã§ã ãã® 4 éšãããªãååã§ \node 㯠NonStop ãµãŒããŒã®ããŒãå $volume ã¯ãã£ã¹ã¯ããªã¥ãŒã ã®åå subvol ã¯ãµãããªã¥ãŒã ã®åå filename 㯠SQL/MX ããŒãã«ãŸãã¯ãã¥ãŒã®ååã§ã ååã«ç¹æ®æå ( \ $ ãªã© ) ãå«ãŸããŠããå Žå㯠ãããã®æåã®åã«ããã¯ã¹ã©ãã·ã¥ (\) ãä»ããã 4 éšæ§æã®ååå šäœãåäžåŒçšç¬Šã§å²ãå¿ èŠããããŸã 次ã«äŸã瀺ããŸã \\node2.\$data3.sales.mytable or '\node2.$data3.sales.mytable'. \node ãæå®ããªãå Žå ããã©ã«ã㯠=_DEFAULTS å®çŸ©ã«æå®ããã Guardian ã·ã¹ãã åã§ã Guardian ( ç©ç ) ãã¡ã€ã«å㯠SHOWLABEL ã³ãã³ãã䜿çšããŠç¢ºèªã§ããŸã 次ã«äŸã瀺ããŸã SHOWLABEL CAT.SCH.T1, DETAIL; 詳现㯠SHOWLABEL ã³ãã³ã (4-102) ãåç §ããŠãã ãã 118
æ°å€ããŒã¿ã¿ã€ã æŠæ°ããŒã¿ã¿ã€ãã® FLOAT REAL DOUBLE PRECISION ã®å€ çæ°ããŒã¿ã¿ã€ãã® NUMERIC DECIMAL INTEGER SMALLINT LARGEINT ã®å€ ã¯ãã¹ãŠæ°å€ã§ãã çžäºã«æ¯èŒå¯èœ çžäºã«å²ãåœãŠå¯èœã§ã æŠæ°ããŒã¿ã¿ã€ãã®å€ã çæ°ããŒã¿ã¿ã€ãã®åã«å²ãåœãŠããããš äžžããèµ·ããŠå°æ°éšåãåãæšãŠãããŸã çæ°ããŒã¿ã¿ã€ãã®å€ã æŠæ°ããŒã¿ã¿ã€ãã®åã«å²ãåœãŠããããš çµæã¯å ã®æ°ãšåãã«ãªããªãããšããããŸã 2 ã€ã®æ°å€ãæ¯èŒããå Žå å®çŸ©ããã倿èŠåã«åã£ãŠ æ°å€ã®ãã¡ã® 1 ã€ã®äžæ¬¡çãªã³ ããŒãäœæããŠæ¯èŒããŸã ããšãã° 1 ã€ã®æ°å€ã INTEGER ã§ãã 1 ã€ã®æ°å€ã DECIMAL ã®å Žå æŽæ°ã®äžæçã³ããŒãå°æ°ã«å€æããŠæ¯èŒããŸã æ¡åŒµ NUMERIC 粟床 SQL/MX 㯠æ¡åŒµ NUMERIC 粟床ããŒã¿ã¿ã€ãããµããŒãããŸã æ¡åŒµ NUMERIC 㯠粟床 18 ãè¶ ãã笊å·ä»æ°å€ããŸã㯠粟床 9 ãè¶ ãã笊å·ãªãæ°å€ã®ããããã§ã æ³šèš : åç SQL ããã°ã©ã 㯠æ¡åŒµ NUMERIC 粟床ããŒã¿ã¿ã€ãã CHAR ã®ãããª äºææ§ã®ããããŒã¿ã¿ã€ãã«å€æããå¿ èŠããããŸã æ¡åŒµ NUMERIC 粟床ããŒã¿ã¿ã€ãã«é¢ããçæäºé éåžžã® NUMERIC ããŒã¿ã¿ã€ãããµããŒããã ãã¹ãŠã® DDL ããã³ DML æããµããŒãããŸã MX ããŒãã«ã®ã¿ MXCI ODBC JDBC T2 ãš T4 ããã³åã蟌ã¿ã€ã³ã¿ãŒãã§ã€ã¹ CAST æ©èœã§ éåžžã® NUMERIC ãšæ¡åŒµ NUMERIC 粟床ããŒã¿ã¿ã€ããšã®å€æãããŸã 笊å·ä»ãæ¡åŒµ NUMERIC ããŒã¿ã¿ã€ãã CHAR ããŒã¿ã¿ã€ãã«å€æããã®ã«å¿ èŠãª CHAR ãã¹ã倿°ã®é·ã㯠p+3 ã§ã ããã§ p ã¯æ¡åŒµ NUMERIC ããŒã¿ã¿ã€ãã®ç²ŸåºŠã§ã 远å ã® 3 ãã€ãã¯ ç¬Šå· å°æ°ç¹ ãã«çµæ¢ç¬Šã§ã 笊å·ãªãæ¡åŒµ NUMERIC ããŒã¿ã¿ã€ãã®å Žå å¿ èŠãªé·ã㯠p+2 ã§ã ãœãããŠã§ã¢ã§å®çŸããã®ã§ ( ããŒããŠã§ã¢ã§å®çŸããéåžžã®æ°å€ããŒã¿ã¿ã€ãã«æ¯ã¹ ) CPU ãéäžçã«äœ¿çšããŸã ç®è¡æŒç® ( å ç® æžç® ä¹ç® é€ç® çŽ¯ä¹ ) ã§ãµããŒããããŸã 以äžã®ã¹ã«ã©ãŒé¢æ°ã®ãã©ã¡ãŒã¿ãŒãšããŠãµããŒããããŸã ABS ACOS ASIN ATAN ATAN2 AVG CEILING COS COSH COUNT DEGREES DIFF1 DIFF2 EXP FLOOR 119
HASHPARTFUNC INSERT LASTNOTNULL LEFT LOG LOG10 LPAD MAX MIN MOVINGAVG MOVINGCOUNT MOVINGMAX MOVINGMIN MOVINGSTDDEV MOVINGSUM MOVINGVARIANCE OFFSET POWER RADIANS REPEAT RIGHT ROWS SINCE RPAD RUNNINGAVG RUNNINGCOUNT RUNNINGMAX RUNNINGMIN RUNNINGSTDDEV RUNNINGSUM RUNNINGVARIANCE SIGN SIN SINH SPACE SQRT STDDEV SUBSTRING SUM TAN TANH THIS VARIANCE 120
æ°å€ããŒã¿ã¿ã€ã FLOAT [( precision )] æŠæ°ã®åãæå®ããŸã åã¯æµ®åå°æ°ç¹ããŒã¿ãæ ŒçŽã 1~54 ãããã®ç²ŸåºŠ precision ãæå®ããŸã ç¯å²ã¯ +/-2.2250738585072014e-308 ãã +/-1.7976931348623157e+308 ã§ 8 ãã€ãã«æ ŒçŽãããŸã An IEEE FLOAT precision ããŒã¿ã¿ã€ã㯠IEEE DOUBLE ãšããŠæ ŒçŽãã æå®ç²ŸåºŠã§ 8 ãã€ãã«æ ŒçŽãããŸã ããã©ã«ãã®ç²ŸåºŠ precision 㯠54 ãããã§ã 121
ããŒãã£ã·ã§ã³ã®èªåäœæ MXCS ããã³ JDBC/MX ã®ãŠãŒã¶ãŒã¯ CREATE TABLE ããã³ CREATE INDEX æã® Partition Overlay Specification (POS) æ©èœã«ãã ããã·ã¥åå²ããã SQL/MX ããŒãã«ããã³ã€ã³ããã¯ã¹ãèªåçã«äœæã§ããŸã NonStop SQL/MX 㯠ã¬ã³ãžåå²ãããããŒãã«ãšã€ã³ããã¯ã¹ã®èªåäœæããµããŒãããŠããŸãã ã¢ããªã±ãŒã·ã§ã³ã¯ POS ãæå¹ã«ãããã©ãã ããŒãã£ã·ã§ã³ã®æ° ããã³ããŒãã£ã·ã§ã³ã®ç©ççãªå Žæãå¶åŸ¡ã§ããŸã CONTROL QUERY DEFAULT 屿§ã¯ ããŒãã£ã·ã§ã³ã®æ°ãšå Žæã確å®ããŸã ãããã®ããã©ã«ãã®å€ãšæ§æã«ã€ããŠã¯ ããŒãã£ã·ã§ã³ç®¡ç ãåç §ããŠãã ãã ãã®æ©èœã®è©³çŽ°ã¯ ããŒãã£ã·ã§ã³ã®èªåäœæ (2-125) ããã³ ã€ã³ããã¯ã¹çšããŒã ã£ã·ã§ã³ã®èªåäœæ ãåç §ããŠãã ãã 122
æ¥ä»æå»é¢æ° ãããã®é¢æ°ã§ã¯ åŒæ°ã«æ¥ä»æå»è¡šçŸã䜿çšããã ãŸãã¯ çµæãæ¥ä»æå»ããŒã¿ã¿ã€ãã§è¿ããŸã CONVERTTIMESTAMP 颿° (8-36) ãŠãªãŠã¹æŠã®ã¿ã€ã ã¹ã¿ã³ãã TIMESTAMP å€ã«å€æããŸã CURRENT 颿° (8-40) çŸåšã®ã¿ã€ã ã¹ã¿ã³ããè¿ããŸã ãŸã CURRENT_TIMESTAMP 颿° (8-43) ã䜿çšããããšãã§ããŸã CURRENT_DATE 颿° (8-41) çŸåšã®æ¥ä»ãè¿ããŸã CURRENT_TIME 颿° (8-42) çŸåšã®æå»ãè¿ããŸã CURRENT_TIMESTAMP 颿° (8-43) çŸåšã®ã¿ã€ã ã¹ã¿ã³ããè¿ããŸã ãŸã CURRENT 颿° (8-40) ã䜿çšããããšãã§ããŸã DATE_ADD 颿° (8-44) interval_expression ã§æå®ãããééã datetime_expression ã«å ç®ããŸã DATEADD 颿° (8-44) æ¥ä»éšåãš num_expression ã§æå®ãããæéééã datetime_expression ã«å ç®ããŸã DATE_SUB 颿° (8-44) interval_expression ã datetime_expression ããæžç®ããŸã DATEDIFF 颿° (8-46) startdate ãš enddate ã®éã®æéã® æ¥ä»éšåã®å¢çã®æ°ãæŽæ°ã§è¿ããŸã DATEFORMAT 颿° (8-48) æ¥ä»æå»å€ã衚瀺çšã«ãã©ãŒãããããŸã DAY 颿° (8-50) 1~31 ã®ç¯å²ã§ æ¥ä»ãè¡šãæŽæ°ãè¿ããŸã DAYOFMONTH ã䜿çšããããšãã§ããŸã DAYNAME 颿° (8-51) æ¥ä»ãŸãã¯ã¿ã€ã ã¹ã¿ã³ã衚çŸããææ¥ãè¿ããŸã DAYOFMONTH 颿° (8-52) 1~31 ã®ç¯å²ã§ æ¥ä»ãè¡šãæŽæ°ãè¿ããŸã DAY ã䜿çšããããšãã§ããŸã DAYOFWEEK 颿° (8-53) 1~7 ã®ç¯å²ã§ ææ¥ãè¡šãæŽæ°ãè¿ããŸã DAYOFYEAR 颿° (8-54) 1~366 ã®ç¯å²ã§ æ¥ä»ãè¡šãæŽæ°ãè¿ããŸã EXTRACT 颿° (8-74) æ¥ä»æå»å€è¡šçŸãŸãã¯ééå€è¡šçŸãã æå®ãããæ¥ä»æå»ãã£ãŒã«ããè¿ããŸã HOUR 颿° (8-82) 0~23 ã®ç¯å²ã§ æå»ãè¡šãæŽæ°ãè¿ããŸã JULIANTIMESTAMP 颿° (8-84) æ¥ä»æå»å€ããŠãªãŠã¹æŽã®ã¿ã€ã ã¹ã¿ã³ãã«å€æããŸã LAST_DAY 颿° () æ¥ä»ãŸãã¯ã¿ã€ã ã¹ã¿ã³ã衚çŸããå æã®æ«æ¥ãè¿ããŸã MINUTE 颿° (8-108) 0~59 ã®ç¯å²ã§ æå»ã®åãè¡šãæŽæ°ãè¿ããŸã MONTH 颿° (8-105) 1~12 ã®ç¯å²ã§ æãè¡šãæŽæ°ãè¿ããŸã MONTHNAME 颿° (8-106) æã®ååã衚ãæåå (January February ãªã© ) ãè¿ããŸã MONTHS_BETWEEN 颿° 2 ã€ã®æ¥ä»ã®éã®æã®æ°ãè¿ããŸã 123
QUARTER 颿° (8-131) 1~4 ã®ç¯å²ã§ ååæãè¡šãæŽæ°ãè¿ããŸã SECOND 颿° (8-164) 0~59 ã®ç¯å²ã§ æå»ã®ç§ãè¡šãæŽæ°ãè¿ããŸã TO_TIMESTAMP 颿° æ¥ä»ãšæå»ãå«ãæååãã¿ã€ã ã¹ã¿ã³ãã«å€æããŸã WEEK 颿° (8-209) 1~54 ã®ç¯å²ã§ é±ãè¡šãæŽæ°ãè¿ããŸã YEAR 颿° (8-210) 幎ãè¡šãæŽæ°ãè¿ããŸã æ°åŠé¢æ° 颿°ã«ã€ããŠã¯åãšã³ããªãŒãåç §ããŠãã ãã ãããã®æ°åŠé¢æ°ã¯ SQL å ã®æ°å€è¡šçŸã§äœ¿çšããŠãã ãã ABS 颿° (8-10) æ°å€è¡šçŸã®çµ¶å¯Ÿå€ãè¿ããŸã ACOS 颿° (8-10) æ°å€åŒã®ã¢ãŒã¯ã³ãµã€ã³å€ãã©ãžã¢ã³ã§è¡šçŸããè§åºŠãšããŠè¿ããŸã ASIN 颿° (8-12) æ°å€åŒã®ã¢ãŒã¯ãµã€ã³å€ãã©ãžã¢ã³ã§è¡šçŸããè§åºŠãšããŠè¿ããŸã ATAN 颿° (8-13) æ°å€åŒã®ã¢ãŒã¯ã¿ã³ãžã§ã³ãå€ãã©ãžã¢ã³ã§è¡šçŸããè§åºŠãšããŠè¿ããŸã ATAN2 颿° (8-13) 2 ã€ã®æ°å€åŒã§æå®ãã X Y 座æšã®ã¢ãŒã¯ã¿ã³ãžã§ã³ãå€ãã©ãžã¢ã³ã§è¡šçŸããè§åºŠãšããŠè¿ããŸã CEILING 颿° (8-22) æ°å€åŒä»¥äžã®æå°æŽæ°ãè¿ããŸã COS 颿° (8-37) æ°å€åŒã®ã³ãµã€ã³å€ãè¿ããŸã ããã§æ°å€åŒã¯ã©ãžã¢ã³ã§è¡šçŸããè§åºŠã§ã COSH 颿° (8-37) æ°å€åŒã®ã³ãµã€ã³å€ãè¿ããŸã ããã§æ°å€åŒã¯ã©ãžã¢ã³ã§è¡šçŸããè§åºŠã§ã CONVERTTOHEX åŒã®å€ãšçãã 16 é²è¡šçŸã®æåã¿ã€ããŸã㯠VARCHAR ã¿ã€ãã®ãã€ãåãè¿ããŸã EXP 颿° (8-65) æ°å€åŒã® (e ãåºãšãã ) ææ°å€ãè¿ããŸã FLOOR 颿° (8-77) æ°å€åŒä»¥äžã®æå€§æŽæ°ãè¿ããŸã LOG 颿° (8-92) æ°å€åŒã«å¯Ÿããèªç¶å¯Ÿæ°ãè¿ããŸã LOG10 颿° (8-92) æ°å€åŒã«å¯Ÿããåžžçšå¯Ÿæ°ãè¿ããŸã MOD 颿° (8-104) æŽæ°åŒãæŽæ°åŒã§é€ç®ããäœã ( ã¢ãžã¥ã ) ãè¿ããŸã PI 颿° (8-128) 宿°å€ Π ãæµ®åå°æ°å€ã§è¿ããŸã POWER 颿° (8-130) æ°å€åŒã®æŽæ°åŒã®çޝä¹ã®å€ãè¿ããŸã ææ°æŒç®å ** ã䜿çšããããšãã§ããŸã RADIANS 颿° (8-141) 床æ°ãè¡šãæ°å€åŒãã©ãžã¢ã³ã«å€æããŸã ROUND æå®ã®é·ãã«äžžãã numeric_expression ãè¿ããŸã 124
SIGN 颿° (8-165) æ°å€åŒã®ç¬Šå·ã®ã€ã³ãžã±ãŒã¿ãŒãè¿ããŸã å€ããŒãããå°ããå Žå ã€ã³ãžã±ãŒã¿ãŒãšã㊠-1 ãè¿ããŸã å€ããŒãã®å Žå 0 ãè¿ããŸã å€ããŒããã倧ããå Žå 1 ãè¿ããŸã SIN 颿° (8-166) æ°å€åŒã®ãµã€ã³å€ãè¿ããŸã ããã§æ°å€åŒã¯ã©ãžã¢ã³ã§è¡šçŸããè§åºŠã§ã SINH 颿° (8-166) æ°å€åŒã®åæ²ãµã€ã³å€ãè¿ããŸã ããã§æ°å€åŒã¯ã©ãžã¢ã³ã§è¡šçŸããè§åºŠã§ã SQRT 颿° (8-167) æ°å€åŒã«å¯Ÿããå¹³æ¹æ ¹ãè¿ããŸã TAN 颿° (8-175) æ°å€åŒã®ã¿ã³ãžã§ã³ãå€ãè¿ããŸã ããã§æ°å€åŒã¯ã©ãžã¢ã³ã§è¡šçŸããè§åºŠã§ã TANH 颿° (8-175) æ°å€åŒã®åæ²ã¿ã³ãžã§ã³ãå€ãè¿ããŸã ããã§æ°å€åŒã¯ã©ãžã¢ã³ã§è¡šçŸããè§åºŠã§ã 颿°ã«ã€ããŠã¯åãšã³ããªãŒãåç §ããŠãã ãã 125
ãã®ä»ã®é¢æ°ãšåŒ ãããã®é¢æ°ãšåŒã¯ SQL å€ã®åŒã§äœ¿çšããŠãã ãã CASE( æ¡ä»¶ ) åŒ (8-16) æ¡ä»¶åŒã§ã CASE åŒã«ã¯ 2 ã€ã®åœ¢åŒ ( åçŽ æ€çŽ¢ ) ããããŸã CAST åŒ (8-20) ããããŒã¿ã¿ã€ãã®å€ã æå®ããå¥ã®ããŒã¿ã¿ã€ãã®å€ã«å€æããŸã CURRENT_USER 颿° (8-43) çŸåšã®èªèšŒ ID ã«å¯Ÿå¿ãã Guardian ãŠãŒã¶ãŒã®ååãè¿ããŸã ãã®é¢æ°ã¯ SESSION_USER ããã³ USER ãšç䟡ã§ã COALESCE 颿° (8-27) ãªã¹ãäžã® NULL ã§ãªãæåã®åŒã®å€ãè¿ããŸã ãªã¹ãäžã®ãã¹ãŠã®åŒã NULL ã®å Žå NULL ãè¿ããŸã DECODE 颿° (8-55) äžããããåŒã æå®æ¡ä»¶ã®ã»ãããš æå®ã®é åºã§äžã€ãã€æ¯èŒããŸã äžèŽããæ¡ä»¶ã«å¯Ÿå¿ããå€ãè¿ããŸã HASHPARTFUNC 颿° (8-78) æå®ãããããŒãã£ã·ã§ãã³ã°ããŒãå±ããããŒãã£ã·ã§ã³ã®çªå·ãè¿ããŸã IFNULL ãŸã㯠ISNULL check_expression ã®å€ã NULL ã§ããã° replacement_value ã ããã§ãªããã° check_expression ãè¿ããŸã SESSION_USER 颿° (8-165) çŸåšã®èªèšŒ ID ã«å¯Ÿå¿ãã Guardian ãŠãŒã¶ãŒã®ååãè¿ããŸã ãã®é¢æ°ã¯ CURRENT_USER ããã³ USER ãšç䟡㧠USER 颿° (8-200) çŸåšã®èªèšŒ ID ã«å¯Ÿå¿ãã Guardian ãŠãŒã¶ãŒã®ååãè¿ããŸã ãã®é¢æ°ã¯ CURRENT_USER ããã³ SESSION_USER ãšç䟡ã§ã NULLIF åŒãçããå Žå㯠NULL ã ããã§ãªããã°æåã®åŒã®å€ãè¿ããŸã NULLIFZERO check_expression ã®å€ããŒãã§ããã° NULL ã ããã§ãªããã° check_expression ãè¿ããŸã NVL 颿° (8-121) åŒã NULL ã®å Žåã«æå®ãããå€ãè¿ããŸã NVL2 颿° (8-123) åŒã NULL ã®å Žåã«æå®ãããå€ãè¿ããŸã åŒã NULL ã§ã¯ãªãå Žåã¯å¥ã®æå®ãããå€ãè¿ããŸã LNNVL 颿° (8-88) æ¡ä»¶ã FALSE ãŸã㯠NULL ã®å Žåã« TRUE ãè¿ããŸã æ¡ä»¶ã TRUE ã®å Žå FALSE ãè¿ããŸã ZEROIFNULL check_expression ã®å€ã NULL ã§ããã°ãŒãã ããã§ãªããã° check_expression ãè¿ããŸã 颿°ã«ã€ããŠã¯åãšã³ããªãŒãåç §ããŠãã ãã 126
CONVERTTOHEX æ§æ CONVERTTOHEX(expression) 説æ CONVERTTOHEX 颿°ã¯ æå®ãããåŒã衚瀺çšã« 16 é²è¡šçŸã«å€æããŸã åŒã®å€ãšçãã 16 é²è¡šçŸã® CHARACTER ã¿ã€ããŸã㯠VARCHAR ã¿ã€ãã®ãã€ãåãè¿ããŸã expression ã¯æ°å€ ãã£ã©ã¯ã¿ãŒ æ¥ä»æå» ãŸãã¯ééã®åŒã§ãªããã°ãªããŸãã expression ã®å€ã null ã®å Žå SQL/MX ããšã©ãŒãè¿ããŸã CONVERTTOHEX 颿°ã§ã¯ SQL/MP ããŒãã«åã¯äœ¿ããŸãã ãã©ã¡ãŒã¿ãŒ expression åŒã®å€ã§ã çæäºé expression ãåçãã©ã¡ãŒã¿ãŒã®å Žå ãã®ããŒã¿ã¿ã€ã㯠varchar(255) ãšããŠå®çŸ©ãããŸã åçãã©ã¡ãŒã¿ãŒã®ãã£ã¹ãæŒç®åã䜿ãããšã§ ããã©ã«ãã®ããŒã¿ã¿ã€ã以å€ã®ããŒã¿ã¿ã€ãã«ãã€ã³ãããããšãã§ããŸã ãã®é¢æ°ã¯æ¥ä»æå»åŒããã³ééåŒãšãšãã«äœ¿ããŸãã 衚瀺ãããåºåã¯å éšå€ã瀺ããŠããããã¢ããªã±ãŒã·ã§ã³ã«ã¯ããŸã圹ç«ã¡ãŸãã CONVERTTOHEX 颿°ã« 10 é²å€ãæå®ãããš å°æ°ç¹ä»¥äžã®æ¡ãç¡èŠãããŠæŽæ°æ¡ã® 16 é²å€ã®ã¿ãè¿ãããŸã äœ¿çšæ³ å€ã® 16 é²è¡šçŸãæååãšããŠè¿ããŸã ã¯ã©ã€ã¢ã³ã端æ«ã§ãµããŒããããŠããªããã£ã©ã¯ã¿ãŒã»ããããã®ãã£ã©ã¯ã¿ãŒã å¶åŸ¡ã³ãŒããªã©ã®è¡šç€ºã§ããªããã£ã©ã¯ã¿ãŒãäžéšäœ¿ãå Žåããããã£ã©ã¯ã¿ãŒã®åŒã«æçšã§ã äŸ æ¬¡ã®ããŒãã«ã¯ äžèšã®ã³ãã³ãäŸã®äžã§äœ¿ãããŸã CREATE TABLE EG (S1 smallint, I1 int, L1 largeint); INSERT INTO EG VALUES(37, 2147483647, 2305843009213693951); ã³ãã³ãäŸ ã¿ã€ããšã㊠smallint(s1) int(i1) ããã³ largeint(l1) ã ãããã«å¯Ÿå¿ããå€ãšããŠãããã 37 2147483647 ããã³ 2305843009213693951 ãæã€ããŒãã« EG ãèããŸã æ¬¡ã®æã¯ æå®ããå€ã® 16 é²å€ãè¿ããŸã SELECT CONVERTTOHEX(S1), CONVERTTOHEX(I1), CONVERTTOHEX(L1) from EG; 127
åºåäŸ (EXPR) (EXPR) (EXPR) ------ ------ ------ ---- 0025 7FFFFFFF 1FFFFFFFFFFFFFFF --- 1 row(s) selected. ã³ãã³ãäŸ ã¿ã€ããšã㊠CHAR(4)(FC4) VARCHAR(4)(VC4) ããã³ CHAR(4)CHARACTER SET(FC4U) ããã³ãããã«å¯Ÿå¿ããå€ãšããŠãããã ABC abc ããã³ _UCS2'abc' ãæã€ããŒãã« EG_CH ãèããŸã æ¬¡ã®æã¯ æå®ããå€ã® 16 é²å€ãè¿ããŸã SELECT CONVERTTOHEX(FC4), CONVERTTOHEX(VC4), CONVERTTOHEX(FC4U) from EG_CH; åºåäŸ (EXPR) (EXPR) (EXPR) ------ ------ ------ ---- 41424320 616263 0061006200630020 --- 1 row(s) selected. ã³ãã³ãäŸ ã¿ã€ããšããŠæ¥ä» (D1) ã¿ã€ã ã¹ã¿ã³ã (TS1) ããã³å¹Žæã®éé (IV1) ã ããã³ãããã«å¯Ÿå¿ããå€ãšããŠãããã current_date current_timestamp ããã³å¹Žæã®éé 05-05 ãæã€ããŒãã« DT_IV ãèããŸã æ¬¡ã®æã¯ æå®ããå€ã® 16 é²å€ãè¿ããŸã SELECT * from DT_IV; D1 TS1 IV1 ------ ---- ---- ---- ------ 2015-07-26 2015-07-26 11:23:35.84 5-05 --- 1 row(s) selected. SELECT CONVERTTOHEX(D1), CONVERTTOHEX(TS1), CONVERTTOHEX(IV1) from DT_IV; åºåäŸ (EXPR) (EXPR) (EXPR) ------ ------ ---- ---- ------ 07DF071B 07DF071B130E1400000017 0041 --- 1 row(s) selected. 128
IFNULL ãŸã㯠ISNULL æ§æ IFNULL(check_expression, replacement_value) ISNULL(check_expression, replacement_value) 説æ 颿° IFNULL ãŸã㯠ISNULL 㯠check_expression ã NULL ã®å Žåã« åŒã®å€ã代æ¿å€ã«çœ®æããŸã ããã§ãªãå Žå æ»ãå€ã¯ check_expression ã®å€ã«ãªããŸã IFNULL 颿°ãŸã㯠ISNULL 颿°ã§ã¯ SQL/MP ããŒãã«åã¯äœ¿ããŸãã ãã©ã¡ãŒã¿ãŒ check_expression åŒã®å€ã§ã replacement_value 代æ¿å€ã§ã çæäºé åŒæ°ãªã¹ãå ã®ãã¹ãŠã®åŒãåºå®é·ã® CHARACTER ã¿ã€ãã®å Žå æ»ãå€ã¯ ãã¹ãŠã®åŒã®å€ã®ã¿ã€ãã®äžã§æå€§ã®ãµã€ãºã«çããåºå®é·ã®æååã«ãªããŸã åŒæ°ãªã¹ãå ã®ããããã®åŒãå¯å€é·ã® CHARACTER ã¿ã€ãã®å Žå æ»ãå€ã¯ ãã¹ãŠã®åŒã®å€ã®ã¿ã€ãã®äžã§æå€§ã®ãµã€ãºãæã€å¯å€é·ã®æååã«ãªããŸã åŒæ°ãªã¹ãå ã®ãã¹ãŠã®åŒãæŽæ°ã¿ã€ãã®å Žå æ»ãå€ã®ããŒã¿ã¿ã€ã㯠ããããæ»ãå€ã®æŽæ°ã¿ã€ãã®äžã§æå€§ã®æŽæ°ãå«ãŸããæŽæ°ã¿ã€ããšåãã«ãªããŸã åŒæ°ãªã¹ãå ã®ãã¹ãŠã®åŒãåºå®é·ã®æ°å€ã¿ã€ãã®å Žå æ»ãå€ã¯ ãã¹ãŠã®åŒã®å€ã®ã¿ã€ãã®äžã§æé«ã®ç²ŸåºŠããã³ã¹ã±ãŒã«ãæã€æ°å€ã¿ã€ãã«ãªããŸã åŒæ°ãªã¹ãå ã®ãã¹ãŠã®åŒãæ°å€ã¿ã€ãã§ å°ãªããšã 1 ã€ã REAL FLOAT ãŸã㯠DOUBLE PRECISION ã®å Žå æ»ãå€ã®ã¿ã€ã㯠DOUBLE PRECISION ã«ãªããŸã check_expression ãš replacement_value ããšãã«ãªãã©ã«ã®å Žå æ»ãå€ã®ã¿ã€ãã¯è¿ãããå ¥åãšåããã®ã«ãªããŸã check_expression ãš replacement_value ããšãã« NULL ã®å Žå æ»ãå€ã NULL ã«ãªããŸã check_expression ãš replacement_value ã äºææ§ãããããŒã¿ã¿ã€ãã§ã¯ãªãå Žå SQL/MX ããšã©ãŒãè¿ããŸã check_expression ãš replacement_value ãåçãã©ã¡ãŒã¿ãŒã®å Žå å ¥åããŒã¿ã¿ã€ãã¯æ°å€ (18,6) ãšããŠå®çŸ©ãããŸã äžæ¹ã®å ¥ååŒãåçãã©ã¡ãŒã¿ãŒã§ 仿¹ã®å ¥ååŒãå®çŸ©æžã¿ã®ããŒã¿ã¿ã€ããæã€å Žå åçãã©ã¡ãŒã¿ãŒã®ããŒã¿ã¿ã€ãã«ã¯ å®çŸ©æžã¿ã®å ¥ååŒã®ããŒã¿ã¿ã€ããå²ãåœãŠãããŸã åçãã©ã¡ãŒã¿ãŒã®ãã£ã¹ãæŒç®åã䜿ãããšã§ ããã©ã«ãã®ããŒã¿ã¿ã€ã以å€ã®ããŒã¿ã¿ã€ãã«ãã€ã³ãããããšãã§ããŸã 129
äœ¿çšæ³ ããŒã¿ããŒã¹ã«ã¯ NULL å€ãå«ãŸããŠããŸãã NULL å€ããã以å€ã®å€ãšããŠåŠçãããå Žå ãŸãã¯ã¯ãšãªå ã§é£çµã䜿ã£ãŠãããšãã« æ»ãå€ã NULL ã«ããããªãå Žåã«äœ¿ããŸã äŸ 1 å§ãšåãé£çµããå Žå Select CONCAT (ISNULL ('ENTERPRISE', ), ISNULL('COMPANY, )) FROM (values(1)) t; äŸ æ¬¡ã®ããŒãã«ã¯ äžèšã®ã³ãã³ãäŸã®äžã§äœ¿ãããŸã CREATE TABLE tab1 (col1 int, col2 int, col3 CHAR(5), col4 VARCHAR(d0),col5 VARCHAR(10)); INSERT INTO tab1 values (1, NULL, NULL, NULL, 'FOUR'), (2, 2, NULL, 'THREE', 'THREE'); ã³ãã³ãäŸ SELECT isnull(col4, 'im a null')from tab1; åºåäŸ (EXPR) ----------- im a null THREE --- 2 row(s) selected. ã³ãã³ãäŸ ãã®äŸã§ã¯ äž¡æ¹ã®ãã©ã¡ãŒã¿ãŒã«æŽæ°ã䜿ãããŠããŸã SELECT isnull(col2, 20000) åºåäŸ (EXPR) ----------- 20000 2 --- 2 row(s) selected. ã³ãã³ãäŸ FROM tab1; ãã®äŸã§ã¯ åãã©ã¡ãŒã¿ãŒã«æŽæ°ãšæµ®åå°æ°ã䜿ãããŠããŸã SELECT isnull(col2, 1.5) FROM tab1; åºåäŸ (EXPR) ----------- 1.5 2.0 --- 2 row(s) selected. 130
ã³ãã³ãäŸ ãã®äŸã§ã¯ åãã©ã¡ãŒã¿ãŒã«æŽæ°ãšãã£ã©ã¯ã¿ãŒã䜿ãããŠããŸã SELECT isnull(col2, 'im a null') FROM tab1; åºåäŸ *** ERROR[4049] A CASE expression cannot have a result data type of both CHAR(9) and INTEGER. *** ERROR[8822] The statement was not prepared. 131
LAST_DAY 颿° LAST_DAY 颿°ã¯ DATE ãŸã㯠TIMESTAMP ã®åŒãæã®æ«æ¥ã衚ã DATE å€ã«å€æããŸã æ»ãå€ã®ã¿ã€ã㯠DATE ã§ã å ¥åããæ¥ä»ã NULL ã®å Žå㯠æ»ãå€ã NULL ã«ãªããŸã LAST_DAY 㯠SQL/MX ã§æ¡åŒµãããæ©èœã§ã LAST_DAY (date) date DATE ã¿ã€ããŸã㯠TIMESTAMP ã¿ã€ãã®æ¥ä»æå»å€ãšããŠè©äŸ¡ãããåŒã§ã æ¥ä»æå»å€åŒ (6-43) ãåç §ããŠãã ãã. LAST_DAY ã«é¢ããçæäºé LAST_DAY 颿°ã¯ DML æã§ã®ã¿äœ¿ã£ãŠãã ãã å ¥åããæ¥ä»å€ãç¡å¹ãªå Žå㯠ãšã©ãŒãè¿ãããŸã ãã¹ã倿°ãåçãã©ã¡ãŒã¿ãŒã䜿ã£ãŠåçã«å ¥åããæ¥ä»ã¯ åçã«æ€èšŒãããŸã ç¡å¹ãªå Žå㯠ãšã©ãŒãè¿ãããŸã å ¥åå€ã¯ SQL/MP åã§ã¯ãµããŒããããŸãã LAST_DAY ã®äŸ äŸã«ããå ¥åãããæ¥ä»å€ã¯ãã¹ãŠ MM-DD-YYYY ãã©ãŒãããã§æå®ãããŠããŸã æã®æ«æ¥ãè¿ããŸã ãã®å Žå㯠12 æ 31 æ¥ã§ã LAST_DAY(date'12-12-2015') (EXPR) --------- - 2015-12-31 ããã幎ã®å Žå㯠2 æã®æ«æ¥ã 29 æ¥ãšããŠè¿ããŸã LAST_DAY(date'02-12-2016') (EXPR) --------- - 2016-02-29 åŒæ°ãšããŠã¿ã€ã ã¹ã¿ã³ãã¿ã€ãã瀺ãäŸ LAST_DAY(timestamp'12-12-2015 14:32:10') (EXPR) --------- - 2015-12-31 æ¥ä»ã¿ã€ããšããŠè©äŸ¡ãããæ¥ä»æå»åŒã瀺ãäŸ LAST_DAY(DATEADD(DAY, 7, date'02-28-2015')) (EXPR) INSERT UPDATE ããã³ DELETE ã¯ãšãªã§ã® LAST_DAY ã®äœ¿çšæ³ãš WHERE å¥ã®äœ¿çšæ³ã瀺ãäŸ insert into tab values (LAST_DAY(date'12-12-2015')); --- 1 row(s) inserted. 132
select * from tab; A --------- - 2015-12-31 --- 1 row(s) selected. update tab set a=last_day(date'12-02-2016') where a=last_day(date'12-12-2015'); delete from tab where a=last_day(date'12-02-2016'); --- 1 row(s) deleted. 133
MONTHS_BETWEEN 颿° MONTHS_BETWEEN 颿°ã¯ 2 ã€ã®æ¥ä»ã®éã®æã®æ°ã 10 é²å€ãšããŠèšç®ãè¿ããŸã æ»ãå€ã®ã¿ã€ã㯠NUMERIC (18,9) ã§ã å ¥åããæ¥ä»ã®ã©ã¡ããã NULL ã®å Žå æ»ãå€ã NULL ã«ãªããŸã 2 ã€ã®æ¥ä»ãåãæ¥ãŸãã¯äž¡æ¹ãšãæã®æ«æ¥ã§ããå Žå æ»ãå€ã¯å°æ°éšåããŒãã® 10 鲿°ã«ãªããŸã ãã以å€ã®å Žå æ»ãå€ã¯æ¥æ°ã§ãªãææ°ãšããŠè§£éããã 10 é²å€ã«ãªããŸã ãã® 10 é²å€ã¯ 1 ãæã 31 æ¥ãšããå Žåã® date1 ãš date2 ã®å·®ã®æŠç®å€ã§ã æ¥æ°ã®æŠç®å€ãèšç®ããã«ã¯ 10 é²å€ã« 31 ãä¹ç®ããŸã MONTHS_BETWEEN 㯠SQL/MX ã§æ¡åŒµãããæ©èœã§ã MONTHS_BETWEEN (date1, date2) date1 ãš date2 DATE ã¿ã€ããŸã㯠TIMESTAMP ã¿ã€ãã®æ¥ä»æå»å€ãšããŠè©äŸ¡ãããåŒã§ã æ¥ä»æå»å€åŒ (6-43) ãåç §ããŠãã ãã. MONTHS_BETWEEN ã«é¢ããçæäºé MONTHS_BETWEEN ã DDL ã¯ãšãªå ã§äœ¿ãããšã¯ãå§ãããŸããã DML æå ã§ã¯äœ¿ããŸã æ»ãå€ã¯ date1 ã date2 ããåŸã®å Žåã¯æ£ date1 ã date2 ããåã®å Žåã¯è² ã§ã å ¥åããæ¥ä»å€ã®ãããããç¡å¹ãªå Žå㯠ãšã©ãŒãè¿ãããŸã ãã¹ã倿°ãåçãã©ã¡ãŒã¿ãŒã䜿ã£ãŠåçã«å ¥åããæ¥ä»ã¯ åçã«æ€èšŒãããŸã ç¡å¹ãªå Žå㯠ãšã©ãŒãè¿ãããŸã å ¥åå€ã¯ SQL/MP åã§ã¯ãµããŒããããŸãã MONTHS_BETWEEN ã®äŸ äŸã«ããå ¥åãããæ¥ä»å€ã¯ãã¹ãŠ MM-DD-YYYY ãã©ãŒãããã§æå®ãããŠããŸã æå®ããæ¥ä»ãææ¥ ( ãŸãã¯åãæ¥ä» ) ã§ 1 ãæã ãéãå Žåã¯ å°æ°ç¹ä»¥äžã®æ¡ããã¹ãŠãŒãã®æŽæ°ãšããŠå€ãè¿ããŸã date1 ã date2 ããåŸã®ãã çµæã¯æ£ã«ãªããŸã MONTHS_BETWEEN(date'02-01-2016', date'01-01-2016') (EXPR) ---------- 1.000000000 æå®ããæ¥ä»ãæã®æ«æ¥ã§ 1 ãæã ãéãå Žåã¯ å°æ°ç¹ä»¥äžã®æ¡ããã¹ãŠãŒãã®æŽæ°ãšããŠå€ãè¿ããŸã date1 ã date2 ããåã®ãã çµæã¯è² ã«ãªããŸã MONTHS_BETWEEN(date'03-31-2016', date'04-30-2016') (EXPR) ---------- -1.000000000 å ¥åããæ¥ä»ã®äž¡æ¹ã åãæ¥ä»ã§ããªãæã®æ«æ¥ã§ããªãäŸ MONTHS_BETWEEN(date'02-29-2016',date'01-30-2016') (EXPR) 134
----------.967741935 ãã®äŸã®çµæã¯ å°æ°ç¹ä»¥äžã 9 æ¡ã«äžžããããŠããŸã å°æ°éšåã§ã¯ 1 ãæã 31 æ¥ãšããŠèšç®ããããã ãã®çµæã¯ 967741935 ãæ ã€ãŸã 0.967741935*31 = 29.999999985 æ¥ãšè§£éãããŸã INSERT UPDATE ããã³ DELETE ã¯ãšãªã§ã® MONTHS_BETWEEN ã®äœ¿çšæ³ãš WHERE å¥ã®äœ¿çšæ³ã瀺ãäŸ insert into tab1 values(months_between (date'12-02-2016',date'12-01-2016')); --- 1 row(s) inserted. select * from tab1; A ----------.032258064 --- 1 row(s) selected. update tab1 set a= MONTHS_BETWEEN(date'12-02-2016',date'12-02-2016') where a= MONTHS_BETWEEN(date'12-02-2016',date'12-01-2016'); --- 1 row(s) updated. select * from tab1; A ----------.000000000 --- 1 row(s) selected. delete from tab1 where a= MONTHS_BETWEEN(date'12-02-2016',date'12-02-2016'); --- 1 row(s) deleted. select * from tab1; --- 0 row(s) selected. 135
NULLIF æ§æ NULLIF (expr1, expr2) 説æ NULLIF 颿°ã¯ 2 ã€ã®å ¥ååŒ expr1 ãš expr2 ã®å€ãæ¯ã¹ãŸã æ»ãå€ã¯ åŒãçããå Žåã«ã¯ NULL ã« ããã§ãªããã°æåã®åŒã®å€ã«ãªããŸã ãã©ã¡ãŒã¿ãŒãšã㊠NULL ãæå®ãããš SQL/MX ããšã©ãŒ 4099 ãè¿ããŸã expr1 ãš expr2 ãæ¯èŒå¯èœãªããŒã¿ã¿ã€ãã§ã¯ãªãå Žå SQL/MX ããšã©ãŒ 4041 ãè¿ããŸã NULLIF 颿°ã§ã¯ SQL/MP ããŒãã«åã¯äœ¿ããŸãã ãã©ã¡ãŒã¿ãŒ expr1 1 çªç®ã®åŒã®å€ã§ã expr2 2 çªç®ã®åŒã®å€ã§ã çæäºé æ»ãå€ã®ã¿ã€ã㯠expr1 ã®ã¿ã€ããšåãã§ã å ¥ååŒãåçãã©ã¡ãŒã¿ãŒã®å Žåã«ã¯ å ¥åã®ã¿ã€ãã¯æ°å€ (18, 6) ã«ãªããŸã äžæ¹ã®å ¥ååŒãæ£ç¢ºãªæ°å€ã¿ã€ãã§ ä»æ¹ãåçãã©ã¡ãŒã¿ãŒã®å Žå åçãã©ã¡ãŒã¿ãŒã®ããŒã¿ã¿ã€ãã¯æ°å€ (18, 6) ãšããŠå®çŸ©ãããŸã äžæ¹ã®å ¥ååŒãäžæ£ç¢ºãªæ°å€ã¿ã€ãã§ ä»æ¹ãåçãã©ã¡ãŒã¿ãŒã®å Žå åçãã©ã¡ãŒã¿ãŒã®ããŒã¿ã¿ã€ãã¯å粟床ãšããŠå®çŸ©ãããŸã expr1 ãªã© äžæ¹ã®å ¥ååŒãéæ°å€ã¿ã€ãã§ ä»æ¹ãåçãã©ã¡ãŒã¿ãŒã®å Žå åçãã©ã¡ãŒã¿ãŒã®ããŒã¿ã¿ã€ã㯠expr1 ã®ããŒã¿ã¿ã€ããšããŠå®çŸ©ãããŸã åçãã©ã¡ãŒã¿ãŒã®ãã£ã¹ãæŒç®åã䜿ãããšã§ ããã©ã«ãã®ããŒã¿ã¿ã€ã以å€ã®ããŒã¿ã¿ã€ãã«ãã€ã³ãããããšãã§ããŸã äœ¿çšæ³ ããŒã¿ããŒã¹ã«ã¯ NULL ã§ãªãç¹æ®ãªå€ãå«ãŸããŠããŸãã ãããã NULL ãšããŠåŠçãããå Žåã«äœ¿ããŸã 次ã«äŸã瀺ããŸã äŸ 2 ããŒãã¹æ¯çµŠå¯Ÿè±¡ã®åŸæ¥å¡æ°ã®ååŸ Select COUNT (NULLIF (Bonus, 0)) FROM Employees; äŸ æ¬¡ã®ããŒãã«ã¯ äžèšã®ã³ãã³ãäŸã®äžã§äœ¿ãããŸã CREATE TABLE tab1 (col1 int, col2 int, col3 CHAR(5), col4 VARCHAR(d0),col5 VARCHAR(10)); INSERT INTO tab1 values (1, 0, 'FOUR', 'THREE', 'FOUR'), (2, 2, 'FOUR', 'THREE', 'THREE'); ã³ãã³ãäŸ select NULLIF(col4, col5) from tab1; 136
åºåäŸ (EXPR) ----------- THREE? --- 2 row(s) selected. ã³ãã³ãäŸ ãã®äŸã§ã¯ æŽæ°å€ãæ¯ã¹ãããŠããŸã select NULLIF(col1, col2) from tab1; åºåäŸ (EXPR) ----------- 1? --- 2 row(s) selected. ã³ãã³ãäŸ ãã®äŸã§ã¯ char å€ãš varchar å€ãæ¯ã¹ãããŠããŸã select NULLIF(col3, col5) from tab1; åºåäŸ (EXPR) -----------? FOU R --- 2 row(s) selected. ã³ãã³ãäŸ ãã®äŸã§ã¯ æ°å€ãš varchar å€ãæ¯ã¹ãããŠããŸã select NULLIF(col1, col5) from tab1; åºåäŸ *** ERROR[4041] Type INTEGER cannot be compared with type VARCHAR(10). *** ERROR[4062] The preceding error actually occurred in function NULLIF. *** ERROR[8822] The statement was not prepared. 137
NULLIFZERO æ§æ NULLIFZERO(check_expression) 説æ check_expression ã®å€ããŒãã®å Žå NULLIFZERO 颿°ãåŒã NULL ã«çœ®æããŸã ããã§ãªãå Žå㯠åŒã check_expression ã®å€ã«çœ®æããŸã check_expression 㯠å€åŒãæå®ã æ°å€ããŒã¿ã¿ã€ãã§ãªããã°ãªããŸãã check_expression ã NULL ãŸãã¯éæ°å€ã®å Žå SQL/MX ããšã©ãŒãè¿ããŸã NULLIFZERO 颿°ã§ã¯ SQL/MP ããŒãã«åã¯äœ¿ããŸãã ãã©ã¡ãŒã¿ãŒ check_expression åŒã®å€ã§ã çæäºé æ»ãå€ã®ã¿ã€ã㯠check_expression ã®ã¿ã€ããšåãã§ã å ¥ååŒ check_expression ãåçãã©ã¡ãŒã¿ãŒã®å Žå ãã®ããŒã¿ã¿ã€ãã¯æ°å€ (18, 6) ãšããŠå®çŸ©ãããŸã åçãã©ã¡ãŒã¿ãŒã®ãã£ã¹ãæŒç®åã䜿ãããšã§ ããã©ã«ãã®ããŒã¿ã¿ã€ã以å€ã®ããŒã¿ã¿ã€ãã«ãã€ã³ãããããšãã§ããŸã äœ¿çšæ³ ãŒãã«ããé€ç®ãåé¿ããã ã¬ããŒããžã®ãŒãã®åºåãæå¶ãããããããã« 0 ã®å€ã NULL ã«çœ®ãæããã®ã«äœ¿ããŸã äŸ 3 ãŒãã«ããé€ç®ãåé¿ããå Žå SELECT amount / NULLIFZERO(store_count) FROM sales; äŸ æ¬¡ã®ããŒãã«ã¯ äžèšã®ã³ãã³ãäŸã®äžã§äœ¿ãããŸã CREATE TABLE tab1 (col1 int, col2 int, col3 CHAR(5), col4 VARCHAR(d0),col5 VARCHAR(10)); INSERT INTO tab1 values (1, 0, 'FOUR', 'THREE', 'FOUR'), (2, 2, 'FOUR', 'THREE', 'THREE'); ã³ãã³ãäŸ select NULLIFZERO(col2) from tab1; åºåäŸ (EXPR) ----------- 138
? 2 --- 2 row(s) selected. ã³ãã³ãäŸ ãã®äŸã§ã¯ NULLIFZERO ã¯åæ¯ã«èšè¿°ãããŠããŸã select col1/nullifzero(col2) from tab1; åºåäŸ (EXPR) -----------? 1.0000000 0 --- 2 row(s) selected. ã³ãã³ãäŸ ãã®äŸã§ã¯ NULLIFZERO ãæ°å€ããŒã¿ã¿ã€ãã®ã¿ãåãå ¥ããããšã瀺ãããŠããŸã select NULLIFZERO(col3) from tab1; *** ERROR[4045] The operand of function NULLIFZERO must be numeric. *** ERROR[8822] The statement was not prepared. 139
ROUND æ§æ ROUND(numeric_expression [, length] ) 説æ ROUND 颿°ã¯æå®ã®é·ãã«äžžãã numeric_expression ãè¿ããŸã ROUND 颿°ã§ã¯ SQL/MP ããŒãã«åã¯äœ¿ããŸãã ãã©ã¡ãŒã¿ãŒ numeric_expression æ°å€ããŒã¿ã¿ã€ãã®å€åŒãæå®ããŸã å€ãæ°å€ã§ãªãå Žå SQL/MX ããšã©ãŒãè¿ããŸã length ãªãã·ã§ã³ã§ã numeric_expression ãäžžããé·ã ã€ãŸã粟床ãæå®ããŸã é·ããæ£ã®æ°å€ã®å Žå numeric_expression ã¯å°æ°éšåã«äžžããããŸã é·ããè² ã®æ°å€ã®å Žå numeric_expression ã¯æŽæ°éšåã«äžžããããŸã é·ããæå®ããªãå Žå å ¥åã 0 æ¡ã«äžžããããŸã é·ãã®ç¯å²ã¯ -128~128 ã§ã å€ããã®ç¯å²ã«å«ãŸããŠããªãå Žå㯠ãšã©ãŒã¡ãã»ãŒãžã衚瀺ãããŸã çæäºé æ°å€ã¿ã€ããªã©ã®æ£ç¢ºãªã¿ã€ãã®å Žå å ¥åå€ã¯ãŒãæ¡ä»¥å€ã«äžžããããŸã ããšãã° å ¥åå€ã¯ x.5 ãæ£ã®å Žå㯠x+1 ã« x.5 ãè² ã®å Žå㯠x-1 ã«äžžããããŸã float ãªã©ã®æŠæ°ã¿ã€ãã®å Žå numeric_expression ã¯å¯èœã§ããã°æè¿åã®å¶æ°å€ã«äžžããããŸã numeric_expression ãš length ãåçãã©ã¡ãŒã¿ãŒã®å Žå numeric_expression ã«ã¯æ°å€ã¿ã€ã (18, 6) ãå²ãåœãŠãã length ã«ã¯æŽæ°ã¿ã€ããå²ãåœãŠãããŸã åçãã©ã¡ãŒã¿ãŒã®ãã£ã¹ãæŒç®åã䜿ãããšã§ ããã©ã«ãã®ããŒã¿ã¿ã€ã以å€ã®ããŒã¿ã¿ã€ãã«ãã€ã³ãããããšãã§ããŸã äžžãããã 10 鲿°ã§ã¯ æ«å°Ÿã®ãŒãã衚瀺ãããŸã åäœã¯æ»ãå€ããã£ã¹ãããããšã§å€æŽã§ããŸã äŸ æ¬¡ã®ããŒãã«ã¯ äžèšã®ã³ãã³ãäŸã®äžã§äœ¿ãããŸã create table rd(c1 int, c2 numeric(8,4), c3 float(4), c4 char(12)); insert into rd values(12, 4344.2660, 45.6, 'THREE'); insert into rd values(34, 777.4356, 546.8, 'FOUR'); ãã®äŸã§ã¯ c1 c2 c3 ãããããæŽæ°éšå第 1 äœ 3 äœ 2 äœã«äžžããããŸã ã³ãã³ãäŸ select round(c1, 1), round(c2,3), round(c3,2) from RD; åºåäŸ (EXPR) (EXPR) (EXPR) ------ ------ ------ 140
12 4344.2660 4.56000000000000064E+001 34 777.4360 5.46789999999999936E+002 --- 2 row(s) selected. ã³ãã³ãäŸ ãã®äŸã§ã¯ c1 c2 c3 ãããããå°æ°éšå第 1 äœ 3 äœ 2 äœã«äžžããããŸã select round(c1,-1), round(c2,-3), round(c3,-2) from RD; åºåäŸ (EXPR) (EXPR) (EXPR) ------ ------ ------ 10 4000.0000 0.00000000000000000E+000 30 1000.0000 5.00000000000000000E+002 --- 2 row(s) selected. ã³ãã³ãäŸ ãã®äŸã®äžžãæäœã§ã¯ char ã¿ã€ãã䜿ãããŠããŸã select round(c4, 4) from RD; åºåäŸ *** ERROR[4059] The first operand of function ROUND must be numeric. *** ERROR[8822] The statement was not prepared. 141
TO_CHAR(<NUMERIC>) 颿° TO_CHAR(<numeric>) 颿°ã¯ æ°å€ããŒã¿ãæžåŒèšå®ãããæååã«å€æããŸã çµæã®æåå㯠VARCHAR ã¿ã€ãã§ã 颿°ã®æ§æã¯ä»¥äžã®ãšããã§ã TO_CHAR(numeric-expression, format-value) numeric-expression SQL ã®æ°å€åŒã§ã æ°å€ããŒã¿ã¿ã€ã㯠NUMERIC(P S) SMALLINT INT[EGER] LARGEINT DEC[IMAL] REAL FLOAT ãŸã㯠DOUBLE PRECISION ã§ã numericexpression ã«ã¯ NULL ãåçãã©ã¡ãŒã¿ãŒã䜿çšã§ããŸãã format-value åºå圢åŒãå®çŸ©ãã宿°æååã§ã format-value ã«ã¯ NULL åå åŒ ãŸãã¯åçãã©ã¡ãŒã¿ãŒã䜿çšã§ããŸãã 以äžã®ããŒãã«ã« æ°å€ã® format-value ãæ§æããã®ã«äœ¿çšã§ãããã¹ãŠã®æ°å€ãšã¬ã¡ã³ãããªã¹ãããŸã ãšã¬ã¡ã³ã説æ numeric-expression format-value åºå 9 åºåãã©ãŒãããã®æ°åã®æ¡æ°ãæå®ããŸã 1234 9999 1234 0 å é ã«ãŒããä»ããå€ãè¿ããŸã 1 0999 0001.( ããªãªã ) D åºåãã©ãŒãããäžã®å°æ°ç¹ã®äœçœ®ãæå®ããŸã å¶é : å°æ°ç¹ã¯ format-value äžã« 1 ã€ã ãã§ã 12.34 99.99 99D99 12.34 12.34,( ã«ã³ã ) G æå®äœçœ®ã«, ãå ¥ããŠè¿ããŸã å¶é : ãã®ãšã¬ã¡ã³ã㯠å é ã å°æ°ç¹ã®åŸã«ã¯æå®ã§ããŸãã 1234 9,999 9G99 1,234 1,234 $ å é ã«ãã«èšå·ãä»ããŠè¿ããŸã å¶é : ãã«èšå·ã format-value ã®ã©ã®äœçœ®ã«æå®ããŠã åºåã§ã¯å é ã«ãã«èšå·ãä»ããŸã 1234 $9999 $1234 C L ISO é貚èšå· (USD) ãä»ããŠè¿ããŸã å¶é :ISO é貚èšå·ã¯ format-value ã®æåãŸãã¯æåŸã«ã®ã¿æå®ã§ããŸã ããŒã«ã«é貚èšå·ãä»ããŠè¿ããŸã å¶é : ããŒã«ã«é貚èšå·ã¯ format-value ã®æåãŸãã¯æåŸã«ã®ã¿æå®ã§ããŸã ãµããŒããããããŒã«ã«é貚èšå·ã¯ $ ( ãã« ) ã®ã¿ã§ã 12 C999 USD12 1234 L9999 $1234 MI å é ãŸãã¯æ«å°Ÿã®ãã€ãã¹èšå· (-) ãè¿ããŸã -1234 9999MI 1234- å¶é : ãã€ãã¹èšå·ã¯ format-value ã®æåãŸã㯠æåŸã«ã®ã¿æå®ã§ããŸã 142
PR è² ã®å€ã¯ãã©ã±ãã (< >) ã«å ¥ã㊠æ£ã®å€ã¯å é ãšæ«å°Ÿã«ç©ºçœãä»å ããŠè¿ããŸã å¶é :PR èšå·ã¯ format-value ã®æåŸã«ã®ã¿æå®ã§ããŸã -1234 9999PR <1234> RN rn numeric-expression ã 倧æåãŸãã¯å°æåã®ããŒãæ°åã«å€æããŸã å¶é :RN ãŸã㯠m ã«ã¯ FM ãé€ã㊠ãã®ä»ã®ãšã¬ã¡ã³ããå«ããããšã¯ã§ããŸãã 485 RN rn CDLXXXV cdlxxxv S å é ãŸãã¯æ«å°Ÿã®ãã©ã¹èšå· (+) ãŸãã¯ãã€ãã¹èšå· (-) ãè¿ããŸã å¶é :S ãšã¬ã¡ã³ã㯠format-value ã®æåãŸãã¯æåŸã«ã®ã¿æå®ã§ããŸã -1245 1266 S9999 S9999-1245 +1266 U V ãŠãŒããŸãã¯ãã®ä»ã®äºéé貚èšå·ãè¿ããŸã å¶é : ãã®èšå·ã¯ format-value ã®æåŸã«ã®ã¿æå®ã§ããŸã ãµããŒããããé貚èšå·ã¯ $ ( ãã« ) ã®ã¿ã§ã æå®ããã numeric-expression ã« 10^n ãä¹ããŸã ããã§ n 㯠V ã®åŸã® 9 ã®æ°ã§ã 12 9999U $12 12 99V999 12000 FM 空çœã®æ¿å ¥ãå¶åŸ¡ããŸã 12 FM99 12 143
TO_TIMESTAMP 颿° ãã®é¢æ°ã¯ æ¥ä»æå»ãå«ãæååãã¿ã€ã ã¹ã¿ã³ãããŒã¿ã¿ã€ãã«å€æããŸã 颿°ã®æ§æã¯ä»¥äžã®ãšããã§ã TO_TIMESTAMP(value_string, format_string) value_string æ¥ä»æå»ãå«ãæååã§ã format-string value_string ãè§£éãããã©ãŒãããã§ã ããã¯ãªãã·ã§ã³ã®åŒæ°ã§ã ãã®é¢æ°ã¯ æ¥ä»æå»å€ã yyyy-mm-dd hh24-mm-ss:ff ã®ãã©ãŒãããã§è¿ããŸã format_string ãæå®ããªãå Žåã«æ¡çšãããããã©ã«ãã®ãã©ãŒããã㯠yyyy-mm-dd hh24-mm-ss:ff ã«ãªããŸã åŒæ°ã¯æ¬¡ã®ã¿ã€ãã®ããããã«ãªããŸã string-literal column-reference host-variable dynamic parameter function 次ã®è¡šã§ã¯ format-string ãšã¬ã¡ã³ãã® SQL/MX ã§ã®ãµããŒãæç¡ã瀺ããŸã ãšã¬ã¡ã³ã 説æ SQL/MX ã§ã®ãµããŒãæç¡ AD, ad, A.D., a.d. 西æŠçŽå åŸãŸãã¯è¥¿æŠçŽå åã®è¡šèš ( ããªãªã AD ãŸã㯠A.D. ã®ã¿ BC, bc, B.C., b.c. ãã ãªã ) AM, am, A.M., a.m. PM, pm, P.M., p.m. ååãŸãã¯ååŸã®è¡šèš ( ããªãªããã ãªã ) ãã CC äžçŽ (2 æ¡ ) 21 äžçŽã¯ 2001 幎 1 æ 1 æ¥ã«å§ãŸã£ãŠããŸã AM ãããã©ã«ãã§ã D ææ¥ (1~7) ãè¿ããŸã æ¥ææ¥ =1 ãã DAY day Day ãšã¬ã¡ã³ãã®å€§æåãšå°æåã®åºå¥ã«åºã¥ã㊠倧æå å°æå ãŸãã¯å é ã®ã¿å€§æåãšãããææ¥å ( æé·å¹ ã®ææ¥åã衚瀺ãããã 9 æåã®ãã©ã³ã¯ããã ) ãã DD æå ã®æ¥ (01~31) ãã DDD 幎å ã®æ¥ (001~366) ãã DY dy Dy ãšã¬ã¡ã³ãã®å€§æåãšå°æåã®åºå¥ã«åºã¥ã㊠倧æå å°æå ãŸãã¯å é ã®ã¿å€§æåãšãããççž®ææ¥å (3 æå ) ãã DL DS é·ãæ¥ä»ãã©ãŒããããšçãæ¥ä»ãã©ãŒããããã 144
E EE ççž®ããå å·åãšæ£åŒã®å å·åãè¿ããŸã ãªã FF å°æ°ç§ãªã HH HH12 æ¥å ã®æé (01~12) ãã ( 粟床 :6 æ¡ ) HH24 æ¥å ã®æé (00~23) ãã J 決ããããæç¹ããã®æ¥æ° J = 1 ã®å Žå TO_TIMESTAMP 颿°ã¯ã¿ã€ã ã¹ã¿ã³ãå€ 0001-01-02 00:00:00.000000(0001 幎 1 æ 2 æ¥ ) ãè¿ããŸã ãã MI å (00~59) ãã (AD ã§ã®æ¥æ°ãããã³ã°ã®ã¿ããµ ããŒãããã ) MM æ (01~12 1 æ =01) ãã MON mon Mon MONTH month Month RM rm RR RRRR SCC ãšã¬ã¡ã³ãã®å€§æåãšå°æåã®åºå¥ã«åºã¥ã㊠倧æå å°æå ãŸãã¯å é ã®ã¿å€§æåãšãããççž®æåãè¿ããŸã äŸ JUL jul ãŸã㯠Jul ãšã¬ã¡ã³ãã®å€§æåãšå°æåã®åºå¥ã«åºã¥ã㊠倧æå å°æå ãŸãã¯å é ã®ã¿å€§æåãšãããæå ( æé·å¹ ã®æåã衚瀺ãããã 9 æåã®ãã©ã³ã¯ããã ) 倧æåãŸãã¯å°æåã®ããŒãæ°åã§èšè¿°ãããæå (I~XII ãŸã㯠i~xii I ãŸã㯠i=1 æ ) å¹Žã®æ«å°Ÿã® 2 æ¡ãŸã㯠4 æ¡ S ã¯çŽå åã®æ¥ä»ã®åã«ãã€ãã¹èšå·ä»ãã§çœ®ãããŸã ãããããããªããªã SS ç§ (00~59) ãã SSSSS åå 0 æããæ°ããç§æ° (0~86399) ãã SYEAR SYYYY 幎ã倧æåã§ã¹ãã«ã¢ãŠãããŸã S ã¯çŽå åã®æ¥ä»ã®åã«ãã€ãã¹èšå·ä»ãã§çœ®ãããŸã ãªã TS çãæå»ãã©ãŒããããªã TZD ãµããŒã¿ã€ã æ å ±ãªã TZH TZM TZR X ã¿ã€ã ãŸãŒã³ã®æé å ããã³å°å ããŒã«ã«åºæ°æå. ( ããã ) ã¯å¯äžãµããŒããããããŒã«ã«åºæ°æåã§ã ãªã ãªã Y,YYY æå®ããäœçœ®ã«ã«ã³ããå«ãŸãã幎ãã YYYY YYY YY Y å¹Žã®æ«å°Ÿã® 4 3 2 1 æ¡ ãã 145
th æ°å€ã衚ãä»»æã®ãã©ãŒããããšã¬ã¡ã³ãã«è¿œå ã§ãããµãã£ãã¯ã¹ã§ã ãã©ãŒããããšã¬ã¡ã³ãã® th ãµãã£ãã¯ã¹ã¯ 察å¿ããæ°å€ã« 20th 21st ãŸã㯠22nd ã®ãããªãµãã£ãã¯ã¹ãå«ãŸããããšã瀺ãããã«äœ¿ããŸã 31-MAR-11 05.02.31.123457 AM TO_TIMESTAMP ã«é¢ããçæäºé ãã®é¢æ°ã§ã¯ å€ããã³ãã©ãŒãããã®å ¥åæååã«å¯Ÿã㊠ISO88591 ãã£ã©ã¯ã¿ãŒã»ããã®ã¿ããµããŒããããŸã ãµããŒããããç²ŸåºŠã¯æå€§ 6 æ¡ã§ã 6 æ¡ãè¶ ããå€ã¯åæšäºå ¥ãããã«åãæšãŠãããŸã ã¿ã€ã ãŸãŒã³ã¯ãµããŒããããŸãã SQL/MP ããŒãã«ã¯ãµããŒããããŸãã Null å€ã¯ãµããŒããããŸãã ããã©ã«ãã®äžçŽã¯ä»äžçŽã§ã äžçŽã¯ãã©ãŒããããšã¬ã¡ã³ã YYYY ã«ããäžæžããããŸã åãã©ãŒããããšã¬ã¡ã³ãã«è©²åœããå€ãæå®ããªããš ãšã©ãŒã¡ãã»ãŒãžã衚瀺ãããŸã ãµããŒãããã幎㯠1~9999 ã§ã ãµããŒãããããŠãªãŠã¹æ¥æ°ã¯ 1~3652058 ã§ã ãµããŒããããã»ãã¬ãŒã¿ãŒã¯! ` ~ @ # $ % ^ * - _ + = : /?. > ' ' < ããã³ æå ã§ã TO_TIMESTAMP ã®äŸ åŒ TO_TIMESTAMP('10-SEP-2001 10:13:18', 'DD-MON-YYYY HH:MI:SS'); çµæ 2001-09-10 10:13:18.000000 146
ZEROIFNULL æ§æ ZEROIFNULL(check_expression) 説æ check_expression ã®å€ã NULL ã®å Žå ZEROIFNULL 颿°ãåŒããŒãã«çœ®æããŸã ããã§ãªãå Žå㯠åŒã check_expression ã®å€ã«çœ®æããŸã check_expression ã®ããŒã¿ã¿ã€ãã¯æ°å€ã§ãªããã°ãªããŸãã check_expression ãæ°å€ã§ãªãå Žå SQL/MX ããšã©ãŒãè¿ããŸã ZEROIFNULL 颿°ã§ã¯ SQL/MP ããŒãã«åã¯äœ¿ããŸãã ãã©ã¡ãŒã¿ãŒ check_expression åŒã®å€ã§ã çæäºé æ»ãå€ã®ã¿ã€ã㯠check_expression ã®ã¿ã€ããšåãã§ã å ¥ååŒ check_expression ãåçãã©ã¡ãŒã¿ãŒã®å Žå ãã®ããŒã¿ã¿ã€ãã¯æ°å€ (18, 6) ãšããŠå®çŸ©ãããŸã åçãã©ã¡ãŒã¿ãŒã®ãã£ã¹ãæŒç®åã䜿ãããšã§ ããã©ã«ãã®ããŒã¿ã¿ã€ã以å€ã®ããŒã¿ã¿ã€ãã«ãã€ã³ãããããšãã§ããŸã äœ¿çšæ³ èšç®ã®è§£æã®ããã« NULL ãåé¿ãããå Žåã NULL 以å€ã®å€ãå¿ èŠãªå Žåã« NULL å€ããŒãã«å€æããŸã äŸ 4 絊äžåã§ã® NULL ã®æç¡ãã§ãã¯ãš 0 ãžã®çœ®æ SELECT empno, ZEROIFNULL (salary) FROM employee; äŸ æ¬¡ã®ããŒãã«ã¯ äžèšã®ã³ãã³ãäŸã®äžã§äœ¿ãããŸã CREATE TABLE tab1 (col1 int, col2 int, col3 CHAR(5), col4 VARCHAR(d0),col5 VARCHAR(10)); INSERT INTO tab1 values (1, 0, 'FOUR', 'THREE', 'FOUR'), (2, 2, 'FOUR', 'THREE', 'THREE'); ã³ãã³ãäŸ select ZEROIFNULL(c1) from nulltest; åºåäŸ (EXPR) ----------- 1 147
1 --- 2 row(s) selected. ã³ãã³ãäŸ ãã®äŸã§ã¯ NULL åã«ãªã£ãŠããæŽæ°ã䜿ãããŠããŸã select ZEROIFNULL(c2) from nulltest; åºåäŸ (EXPR) ----------- 0 1 --- 2 row(s) selected. ã³ãã³ãäŸ ãã®äŸã§ã¯ char åã䜿ãããŠããŸã select ZEROIFNULL(c5) from nulltest; *** ERROR[4045] The operand of function ZEROIFNULL must be numeric. *** ERROR[8822] The statement was not prepared. 148
ALL_UIDS ããŒãã« ALL_UIDS 㯠NONSTOP_SQLMX_nodename.SYSTEM_SCHEMA å ã®ã¡ã¿ããŒã¿ããŒãã«ã§ãã ããŒãäžã§ã¡ã¿ããŒã¿ãæã€ãã¹ãŠã®ãªããžã§ã¯ãã® UID ããªã¹ãããŸã ååããŒã¿ã¿ã€ã説æ *1 OBJECT_UID LARGEINT ãªããžã§ã¯ãã® UID 2 SCHEMA_UID LARGEINT ã¹ããŒãã® UID SCHEMATA ã«ãªã³ 㯠3 OBJECT_NAME CHAR(128) åçŽãªããžã§ã¯ãå 4 OBJECT_NAME_SPACE CHAR(2) ãªããžã§ã¯ãã®åå空é : CN å¶çŽ DC åé€å¶çŽ ( ãã§ã㯠Null ã§ãªã ãŠããŒã¯ ãŸãã¯ãã©ã€ããªã㌠) DT åé€ããå®ããŒãã« DI åé€ããã€ã³ããã¯ã¹ IX ã€ã³ããã¯ã¹ LK ãã㯠MD ã¢ãžã¥ãŒã« TA ããŒãã«å€ãªããžã§ã¯ã ( ããŒãã« ãã¥ãŒ ã¹ãã¢ãããã·ãŒãžã£ãŒ å€éšã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒ SQL/MP ãšã€ãªã¢ã¹ ) TR ããªã¬ãŒ TT ããªã¬ãŒäžæããŒãã« * ãã©ã€ããªããŒãç€ºã æ³šèš : ALL_UIDS ããŒãã«ã¯ ã¹ããŒãããŒãžã§ã³ 3000 以éã®ã·ã¹ãã ã¹ããŒãã«ã¯ååšããŸãã ALL_UIDS ããŒãã«ã¯ ããŒã«ã«ããŒãäžã® OBJECTS ããŒãã«ã«ååšãã UID ããšã« 1 è¡ãçšæããŸã éåžžã®èå¥åã§ãããªããžã§ã¯ãåã¯å€§æåã§ä¿åãããŸã åºåãä»ãã®èå¥åã§ãããªããžã§ã¯ãå㯠åŒçšç¬Šãªãã« ãã®ãŸãŸä¿åãããŸã ãã®ä»ã®ãã¹ãŠã®æååã®åã¯å€§æåã§ä¿åãããŸã 149
SCHEMATA ããŒãã« SCHEMATA 㯠NONSTOP_SQLMX_nodename.SYSTEM_SCHEMA å ã®ã¡ã¿ããŒã¿ããŒãã«ã§ãã ããŒãäžã§åç §å¯èœãªãã¹ãŠã®ã«ã¿ãã°ã®ãã¹ãŠã®ã¹ããŒãããªã¹ãããŸã ååããŒã¿ã¿ã€ã説æ *1 CAT_UID LARGEINT ã¹ããŒãçšã«ã¿ãã°ã® UID CATSYS ã«ãªã³ã¯ *2 SCHEMA_NAME CHAR(128) ã¹ããŒãå 3 SCHEMA_UID LARGEINT ã¹ããŒãã® UID OBJECTS ã«ãªã³ã¯ 4 SCHEMA_OWNER INT ãªãŒããŒã®ãŠãŒã¶ãŒ ID 5 SCHEMA_VERSION INT ã¹ããŒãã®ããŒãžã§ã³ R2.x 㯠1200 R3.0 㯠3000 R3.1 㯠3100 R3.2 㯠3200 R3.2.1 㯠3200 R3.3 㯠3200 R3.4 㯠3400 6 SCHEMA_SUBVOLUME CHAR(8) ã¹ããŒãããã®ãªããžã§ã¯ããä¿åãããã¬ãŒãã£ã¢ã³ãµã ããªã¥ãŒã ã®åå 7 CURRENT_OPERATION CHAR(2) ã¹ããŒãã¬ãã«ã®æäœãã¹ããŒãã«å¯ŸããŠã¢ã¯ãã£ãããæå®ããŸã åãåŸãå€ã¯æ¬¡ã®ãšããã§ã ã¹ããŒã¹ ( æäœãªã ) CO æææš©å€æŽæäœ DC DOWNGRADE ALL METADATA IN CATALOG æäœ DC DOWNGRADE ALL METADATA æäœ UC UPGRADE ALL METADATA IN CATALOG æäœ UG UPGRADE ALL METADATA æäœ 8 SOURCE_VERSION INT CURRENT_OPERATION åã§æç€ºããæäœãå®è¡ããåã®ã¹ããŒãã®ããŒãžã§ã³ åãåŸãå€ã¯æ¬¡ã®ãšããã§ã 0 ( 仿ããäžã®æäœããªãå Žå ) R2.0 㯠1200 R3.0 㯠3000 R3.1 㯠3100 R3.2 㯠3200 R3.2.1 㯠3200 R3.3 㯠3200 R3.4 㯠3400 150
9 TARGET_VERSION INT CURRENT_OPERATION åã§æç€ºããæäœã®ã¿ãŒã²ããã®ããŒãžã§ã³åãåŸãå€ã¯æ¬¡ã®ãšããã§ã 0 ( 仿ããäžã®æäœããªãå Žå ) R2.0 㯠1200 R3.0 㯠3000 R3.1 㯠3100 R3.2 㯠3200 R3.2.1 㯠3200 R3.3 㯠3200 R3.4 㯠3400 * ãã©ã€ããªããŒã瀺ã éåžžã®èå¥åã§ããã¹ããŒãåã¯å€§æåã§ä¿åãããŸã åºåãä»ãã®èå¥åã§ããã¹ã㌠ãå㯠åŒçšç¬Šãªãã« ãã®ãŸãŸä¿åãããŸã 151
COL_PRIVILEGES ããŒãã« COL_PRIVILEGES 㯠DEFINITION_SCHEMA_VERSION_vernum å ã®ã¡ã¿ããŒã¿ããŒãã«ã§ãã ã«ã¿ãã°å ã®åçšã® GRANT æ å ±ãä¿åããŸã ååããŒã¿ã¿ã€ã説æ *1 TABLE_UID LARGEINT ããŒãã«ã® UID *2 COLUMN_NUMBER INT ããŒãã«å ã®äœçœ® ( æåã®å㯠0) *3 GRANTOR INT ä»äžè ã® ( ãŸã㯠ä»äžè ããªãŒããŒã®ããã«æŽ»åããã¹ãŒã ㌠ID ã§ãããšã㯠ãªãŒããŒã® ) ã»ãã¥ãªã㣠ID *4 GRANTOR_TYPE CHAR(2) S ã·ã¹ãã ä»äžã®ãšã U ãŠãŒã¶ãŒä»äžã®ãšã O ã¹ããŒãã®ãªãŒããŒãšããŠä»äžããããšã *5 GRANTEE INT GRANTEE_TYPE ã U ã®å Žå ä»äžå¯Ÿè±¡è ã®ã»ãã¥ãªã㣠ID ã§ãã TABLE_PRIVILEGES ã«ãªã³ã¯ãã ãã以å€ã®å Žå ã¯æå³ãæããªã *6 GRANTEE_TYPE CHAR(2) P å ¬å ±ã®ä»äžã®ãšã U ãŠãŒã¶ãŒä»äžã®ãšã * 7 PRIVILEGE_TYPE CHAR(2) ç¹æš©ã¿ã€ã : O ã¹ããŒãã®ãªãŒããŒãšããŠä»äžããããšã S SELECT I INSERT D DELETE U UPDATE R REFERENCES 8 IS_GRANTABLE CHAR(2) Y GRANT ãªãã·ã§ã³ã§ä»äžããã N ããã§ã¯ãªã * ãã©ã€ããªããŒã瀺ã ãã¹ãŠã®ããŒãã«ã® GRANT æ å ±ã¯ TBL_PRIVILEGES ããŒãã«ã«å¥ã ã«ä¿åãããŸã æ³šèš : PRIVILEGE_TYPE å㯠ãããã®ç¹æš©ã (S SELECT / I INSERT/ D DELETE / U UPDATE/ R REFERENCES) ä¿åã§ããŸã ãã ã çŸåšã¯ ç¹æš©ã¿ã€ã S I D 㯠COL_PRIVILEGES ããŒãã«ã«ä¿åã§ããŸãã 152
OBJECTS ããŒãã« OBJECTS 㯠DEFINITION_SCHEMA_VERSION_vernum å ã®ã¡ã¿ããŒã¿ããŒãã«ã§ãã ããŒãã« ãã¥ãŒ ã€ã³ããã¯ã¹ å¶çŽ ããªã¬ãŒ MP ãšã€ãªã¢ã¹ ã¹ãã¢ãããã·ãŒãžã£ãŒ ãã㯠ããã³ããªã¬ãŒäžæããŒãã«ã説æããŸã ååããŒã¿ã¿ã€ã説æ *1 SCHEMA_UID LARGEINT ã¹ããŒãã® UID SCHEMATA ã« ãªã³ã¯ *2 OBJECT_NAME CHAR(128) åçŽãªããžã§ã¯ãå *3 OBJECT_NAME_SPACE CHAR(2) ãªããžã§ã¯ãã®åå空é : CN å¶çŽ IX ã€ã³ããã¯ã¹ LK ãã㯠SG å éšã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒ MD ã¢ãžã¥ãŒã« TA ããŒãã«å€ãªããžã§ã¯ã ( ããŒãã« ãã¥ãŒ ã¹ãã¢ãããã·ãŒãžã£ãŒ å€éšã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒ SQL/MP ãšã€ãªã¢ã¹ ) TR ããªã¬ãŒ TT ããªã¬ãŒäžæããŒãã« 4 OBJECT_TYPE CHAR(2) ãªããžã§ã¯ãã¿ã€ã : BT å®ããŒãã« CC å¶çŽã®ãã§ã㯠IX ã€ã³ããã¯ã¹ LK ãã㯠MP SQL/MP ãšã€ãªã¢ã¹ PV MP ä¿è·ãã¥ãŒã«å¯Ÿãã SQL/MP ãšã€ãªã¢ã¹ SV MP ç°¡ç¥ãã¥ãŒã«å¯Ÿãã SQL/MP ãšã€ãªã¢ã¹ SG ã·ãŒã±ã³ã¹ãžã§ãã¬ãŒã¿ãŒ NN é Null å¶çŽ PK ãã©ã€ããªããŒå¶çŽ RC åç §å¶çŽ TR ããªã¬ãŒãªããžã§ã¯ã UC ãŠããŒã¯å¶çŽ UR ãŠãŒã¶ãŒå®çŸ©ã«ãŒãã³ ( ããšãã° ã¹ãã¢ãããã·ãŒãžã£ãŒ ) 5 OBJECT_UID LARGEINT ãªããžã§ã¯ãã® UID 6 CREATE_TIME LARGEINT äœææå»ã®ã¿ã€ã ã¹ã¿ã³ã ( ãŠãªãŠ ã¹æŠ ) 7 REDEF_TIME LARGEINT åå®çŸ©æå»ã®ã¿ã€ã ã¹ã¿ã³ã ( ãŠãª ãŠã¹æŠ ) 8 CACHE_TIME LARGEINT ãã£ãã·ã¥æå»ã®ã¿ã€ã ã¹ã¿ã³ã ( ãŠãªãŠã¹æŠ ) 9 OBJECT_FEATURE_VERSION INT ãªããžã§ã¯ãã®æ©èœããŒãžã§ã³ 153
SQL/MX ãªãªãŒã¹ 3.4 ãã ãã®ãªãªãŒã¹ã®æ©èœã䜿çšãããã¹ãŠã®ãªããžã§ã¯ãã«ã€ã㊠å€ã¯ 3400 ã§ã 10 VALID_DEF CHAR(2) Y å®çŸ©ãæå¹ãªå Žå N æå¹ã§ ãªãå Žå 11 OBJECT_SECURITY_CLASS CHAR(2) UM ãŠãŒã¶ãŒã¡ã¿ããŒã¿ããŒãã« UT ãŠãŒã¶ãŒå®çŸ©ããŒãã« M ã·ã¹ãã ã¡ã¿ããŒã¿ããŒãã« 12 OBJECT_OWNER INT ãªãŒããŒèªèšŒ ID ã®æŽæ°è¡šçŸ 13 RESERVED_FILLER_INT INT ä»åŸäœ¿çšããããã«äºçŽãã㊠ããŸã 14 RESERVED_FILLER_CHAR CHAR(20) ä»åŸäœ¿çšããããã«äºçŽãã㊠ããŸã 15 DROPPABLE CHAR(2) ä»åŸäœ¿çšããããã«äºçŽãã㊠ããŸã 16 RCB_VERSION INT ãªããžã§ã¯ãã® Record Control Block (RCB) ã®ããŒãžã§ã³ * ãã©ã€ããªããŒãç€ºã æ³šèš : å®çŸ©ã¹ããŒãããŒãžã§ã³ 3000 以éã§ã¯ OBJIDX ãšåŒã°ãããŠããŒã¯ãªã€ã³ããã¯ã¹ã OBJECT_UID åã«å®çŸ©ãããŠããŸã éåžžã®èå¥åã§ãããªããžã§ã¯ãåã¯å€§æåã§ä¿åãããŸã åºåãä»ãã®èå¥åã§ãããªããžã§ã¯ãå㯠åŒçšç¬Šãªãã« ãã®ãŸãŸä¿åãããŸã 154
ããã©ã«ã屿§ ããã©ã«ã屿§ã¯ 以äžã®äœæ¥ãå¶åŸ¡ããŸã æåã»ãã (10-48) å¶çŽã®åé€å¯èœãªãã·ã§ã³ (10-49) ããŒã¿ã¿ã€ã (10-50) 颿°ã®å¶åŸ¡ (10-51) ãã¹ãã°ã©ã (10-51) åé¢ã¬ãã« (10-55) ãã㯠(10-56) ããŒã«ã«ã®èªç«æ§ (10-57) ã¡ã¿ããŒã¿ç®¡ç ã¢ãžã¥ãŒã«ç®¡ç (10-58) éãªãŒãã£ãã察象ããŒãã« (10-59) ãªããžã§ã¯ãã®åœå (10-59) ããŒãã£ã·ã§ã³ç®¡ç ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ã¯ãšãªãã©ã³ã®ãã£ãã·ã¥ (10-72) åç §ã¢ã¯ã·ã§ã³ (10-74) è¡ã®ä¿å® (10-74) ã¹ã¯ã©ãããã£ã¹ã¯ç®¡ç (10-75) ã·ãŒã±ã³ã¹é¢æ° (10-76) ã¹ããŒãã¡ã³ãã®ååæ§ (10-77) ã¹ããŒãã¡ã³ãã®åã³ã³ãã€ã« (10-77) Java ã®ã¹ãã¢ãããã·ãŒãžã£ãŒ (10-79) ã¹ããªãŒã ã¢ã¯ã»ã¹ (10-79) ããŒãã«ç®¡ç (10-80) ããªã¬ãŒç®¡ç (10-82) ãã®ããŒãã«ã¯ SYSTEM_DEFAULTS ããŒãã«ã§èšå®ãŸãã¯æžãæãå¯èœãªå±æ§ã®ã¯ã€ãã¯ãªãã¡ã¬ã³ã¹ã§ã 屿§èª¬æã«ããŽãª ALLOW_DP2_ROW_SAMPLING ãµã³ããªã³ã°ã DP2 ã§å®æœããã SQL/MX Executor ã§å®æœããããæ±ºå®ããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ 155
ANSI_STRING_FUNCTIONALITY (10-51) ATTEMPT_ASYNCHRONOUS _ACCESS ATTEMPT_ESP_PARALLELISM LPAD ããã³ RPAD 颿°ã®åäœã決å®ããŸã å€ã ON ã®ãšãæååãæå®ãããæååã§åããŸã å€ã OFF ã®ãšãæååãæå®ãããæååã«çœ®ãæããŸã 詳现㯠LPAD ã®äŸ (8-98) ããã³ RPAD ã®äŸ (8-148) ãåç §ããŠãã ãã ããŒãã£ã·ã§ã³ãžã®ããŒãŠã§ã€ãã¢ã¯ã»ã¹ãå¶åŸ¡ããŸã ãªããã£ãã€ã¶ãŒã ESP äžŠåæ§ã䜿çšãããã©ã³ãçæã èŠç©ããããå¶åŸ¡ããŸã 颿°ã®å¶åŸ¡ (10-51) ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ AUTOMATIC_RECOMPILATION (10-77) æã®ã¢ã¯ã»ã¹ãã©ã³ãå®è¡æã«æå¹ã§ãªãå Žåã«åã³ã³ãã€ã«ãããããæ±ºå®ããŸã ã¹ããŒãã¡ã³ãã®åã³ã³ãã€ã« (10-77) CACHE_HISTOGRAMS (10-51) ãªããã£ãã€ã¶ãŒããã¹ãã°ã©ã ããã£ãã·ã¥ããããå¶åŸ¡ããŸã ãã¹ãã°ã©ã (10-51) CACHE_HISTOGRAMS_ REFRESH_INTERVAL (10-52) ãã¹ãã°ã©ã ããªãã¬ãã·ã¥ããééãå¶åŸ¡ããŸã ãã¹ãã°ã©ã (10-51) CATALOG (10-59) ããã©ã«ãã® ANSI ã«ã¿ãã°å ãªããžã§ã¯ãã®åœå (10-59) CHECK_CONSTRAINT_PRUNING ãã§ãã¯å¶çŽã®åãèŸŒã¿æé©åãå¶åŸ¡ããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ CPU_LIST_FOR_ESP_PLACEMENT ãŠãŒã¶ãŒå®çŸ©ã® CPU ã»ãããžã® ESP ã®é 眮ãå¶åŸ¡ããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ CREATE_DEFINITION _SCHEMA_VERSIONS CROSS_PRODUCT_CONTROL æ°èŠã¹ããŒãã«ã¹ããŒãããŒãžã§ã³ãå²ãåœãŠãŸã äžèŠãªã¯ãã¹ç©ãå«ããã©ã³ãé€å»ããããæ±ºå®ããŸã ã¡ã¿ããŒã¿ç®¡ç ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ DATA_FLOW_OPTIMIZATION DDL_DEFAULT_LOCATIONS DDL_VIEW_SIMILARITY_CHECK ã¯ãšãªãã©ã³ã é«ãããŒã¿ãããŒé床ãæã€ãšèããããå¶åŸ¡ããŸã LOCATION å¥ãæå®ãããŠããªã CREATE æã§äœæããããã©ã€ããªããŒããŒãã£ã·ã§ã³ã®ç©ççäœçœ®ãæå®ããŸã ããã©ã«ãã®ãã¥ãŒã é¡äŒŒæ§ãã§ãã¯ãæå¹ã§äœæãããã ç¡å¹ã§äœæãããããæå®ããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ããŒãã£ã·ã§ã³ç®¡ç ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ DEF_MAX_HISTORY_ROWS (10-76) SEQUENCE BY æŒç®åãå±¥æŽãããã¡ãŒã«ä¿æããè¡æ°ã®ããã©ã«ãå€ ã·ãŒã±ã³ã¹é¢æ° (10-76) DEFAULT_BLOCKSIZE (10-80) DEFAULT_LENGTH_OF_STRING_FUNCTIONS BLOCKSIZE ãæå®ããªãã§ããŒã¿ããŒã¹ãªããžã§ã¯ããäœæãããšãã®ããã©ã«ãåäœã倿Žã§ããŸã REPEAT() 颿°ã®æ»ãå€ã®é·ããæå®ããŸã ããŒãã«ç®¡ç (10-80) ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ 156
DOOM_USERTRANSACTION (10-77) ãã©ã³ã¶ã¯ã·ã§ã³ãå埩äžå¯èœãªãšã©ãŒã«ééããå Žåã« NonStop SQL/MX ããã©ã³ã¶ã¯ã·ã§ã³ãçµçµãããããå¶åŸ¡ããŸã ã¹ããŒãã¡ã³ãã®ååæ§ (10-77) DP2_CACHE_4096_BLOCKS DYNAMIC_HISTOGRAM _COMPRESSION (10-52) ENABLE_LAZY_CANCEL ENABLE_LEFT_LINEARIZATION_FOR_ LEFT_JOINS ãã£ã¹ã¯ãã£ãã·ã¥ã«å²ãåœãŠããããã¯æ°ãæå®ããŸã å®ããŒãã«åã®ãã¹ãã°ã©ã ããã£ã¹ã¯ããèªã¿èŸŒãŸããå Žå ãã¹ãã°ã©ã ééã®æ°ãæžãããŸã å®è¡äžã«ãã£ã³ã»ã«ããã SELECT æã® DP2 çµ±èšãåãåºããåŠããæå®ããŸã LEFT çµåã®ããã® LEFT ç·åœ¢åã®æå¹å / ç¡å¹åãå¶åŸ¡ããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ãã¹ãã°ã©ã (10-51) ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ENABLE_OPTIMIZER_HINTS FFDC_DIALOUTS_FOR_MXCMP SQL æã§ã®ãªããã£ãã€ã¶ãŒãã³ãã®æå¹å / ç¡å¹åãå¶åŸ¡ããŸã ã³ã³ãã€ã©ãŒãç°åžžçµäºããã å éšãšã©ãŒã§çµçµãããšãã« FFDC ãã€ã¢ã«ã¢ãŠããçºçãããããå¶åŸ¡ããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ FLOATTYPE (10-50) GENERATE_EXPLAIN GEN_EIDR_BUFFER_SIZE GEN_MAX_NUM_PART _DISK_ENTRIES GEN_MAX_NUM_PART _NODE_ENTRIES GEN_PA_BUFFER_SIZE FLOAT ããŒã¿ã¿ã€ãã®åºåã Tandem FLOAT ãŸã㯠IEEE FLOAT ã§åŠçãããã¹ãããå¶åŸ¡ããŸã EXPLAIN ã®åºåãçæããããå¶åŸ¡ããŸã ããŒãã£ã·ã§ã³ã¢ã¯ã»ã¹çšãããã¡ãŒãµã€ãº ã³ã³ãã€ã©ãŒã«ããæºåãã ãšã¯ãŒãã¥ãŒã¿ãŒã䜿çšããããŒãã£ã·ã§ã³ãªã¹ãã®ãµã€ãºãå¶åŸ¡ããŸã ã³ã³ãã€ã©ãŒã«ããæºåãã ãšã¯ãŒãã¥ãŒã¿ãŒã䜿çšããããŒãã£ã·ã§ã³ãªã¹ãã®ãµã€ãºãå¶åŸ¡ããŸã ããŒãã£ã·ã§ã³ã¢ã¯ã»ã¹çšãããã¡ãŒãµã€ãº ããŒã¿ã¿ã€ã (10-50) ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ããŒãã£ã·ã§ã³ç®¡ç ããŒãã£ã·ã§ã³ç®¡ç ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ HIST_DEFAULT_SEL_FOR_ LIKE_WILDCARD (10-52) LIKE è¿°éšã§ããããã¿ãŒã³ãã¯ã€ã«ãã«ãŒãã§å§ãŸãå Žåã« ãªããã£ãã€ã¶ãŒã䜿çšããæšå®éžæçãæå®ããŸã ãã¹ãã°ã©ã (10-51) HIST_DEFAULT_SEL_FOR_ PRED_RANGE (10-52) HIST_JOIN_CARD_LOWBOUND (10-52) HIST_NO_STATS_REFRESH_ INTERVAL (10-53) HIST_NO_STATS_ROWCOUNT (10-53) ã¬ã³ãžè¿°éšã§çŸåšã®ãã¹ãã°ã©ã çµ±èšãååšããªãå Žåã« ãªããã£ãã€ã¶ãŒã䜿çšããæšå®éžæçãæå®ããŸã çµåã®ã«ãŒãã£ããªãã£ãå¶åŸ¡ããŸã ããã©ã«ãã®çµ±èšããªãã¬ãã·ã¥ããééãå¶åŸ¡ããŸã ãã¹ãã°ã©ã çµ±èšãååšããªãå Žåã®æšå®è¡ã«ãŠã³ã ãã¹ãã°ã©ã (10-51) ãã¹ãã°ã©ã (10-51) ãã¹ãã°ã©ã (10-51) ãã¹ãã°ã©ã (10-51) 157
HIST_NO_STATS_UEC (10-53) HIST_PREFETCH (10-53) HIST_ROWCOUNT_REQUIRI NG_STATS (10-54) HIST_SAME_TABLE_PRED_ REDUCTION (10-54) HIST_SCRATCH_VOL (10-54) HIST_SECURITY_WARNINGS (10-55) ãã¹ãã°ã©ã çµ±èšãååšããªãå Žåã®ãŠããŒã¯ãšã³ããªãŒã«ãŠã³ã (UEC) ãã¹ãã°ã©ã ããã£ãã·ã¥çšã«ããªãã§ããããããæ±ºå®ããŸã çµ±èšãæŽæ°ããããèŠåãçºè¡ããããã®æå°è¡ã«ãŠã³ã è€æ°åã®è¿°éšã䜿çšãããå Žåã«è¿°éšã®éžæèŠçŽ ã®éè€éãå¶åŸ¡ããŸã UPDATE STATISTICS äžæããŒãã«ã®ç©çéãèšå®ããŸã ãã¹ãã°ã©ã ããŒãã«ã®èŠåã衚瀺ããããå¶åŸ¡ããŸã ãã¹ãã°ã©ã (10-51) ãã¹ãã°ã©ã (10-51) ãã¹ãã°ã©ã (10-51) ãã¹ãã°ã©ã (10-51) ãã¹ãã°ã©ã (10-51) ãã¹ãã°ã©ã (10-51) INDEX_ELIMINATION_LEVEL INFER_CHARSET (10-48) ãªããã£ãã€ã¶ãŒãèæ ®ããã€ã³ããã¯ã¹ã®ãã¥ãŒãªã¹ãã£ãã¯ãªåé€ã®çšåºŠãæç€ºããŸã ODBC 2.X ã®æåã»ããã€ã³ã¿ãŒãã§ã€ã¹ãæå¹ã«ããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ æåã»ãã (10-48) INSERT_VSBB (10-74) ããŒãã«ãžã®è¡ã®æ¿å ¥æ¹æ³ãå¶åŸ¡ããŸã è¡ã®ä¿å® (10-74) INTERACTIVE_ACCESS (10-78) ã³ã³ãã€ã©ãŒãã€ã³ããã¯ã¹ããŒã¹ã®ã¢ã¯ã»ã¹ãã©ã³ãéžæããããæ±ºå®ããŸã ã¹ããŒãã¡ã³ãã®åã³ã³ãã€ã« (10-77) ISOLATION_LEVEL (10-55) ããã©ã«ãã®ãã©ã³ã¶ã¯ã·ã§ã³åé¢ã¬ãã« åé¢ã¬ãã« (10-55) IUD_NONAUDITED_ INDEX_MAINT (10-59) JOIN_ORDER_BY_USER NonStop SQL/MX ã§ ã€ã³ããã¯ã¹ã®ä¿å®ãå¿ èŠãªéãªãŒãã£ãã察象ããŒãã«ã§ã®æ¿å ¥ / æŽæ° / å逿äœãã§ããããå¶åŸ¡ããŸã ã¯ãšãªã® FROM å¥ã§æå®ããçµåé åºãæå¹åãŸãã¯ç¡å¹åããŸã éãªãŒãã£ãã察象ããŒãã« (10-59) ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ MAX_ESPS_PER_CPU_PER_OP ç¹å®ã®ãªãã¬ãŒã¿ãŒçšã« ãªããã£ãã€ã¶ãŒãå CPU ã§èµ·åããããšããŠãã ESP ã®æå€§æ° ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ MAX_ROWS_LOCKED_FOR _STABLE_ACCESS (10-56) STABLE ACCESS ã¢ãŒãã§ããã¯ãããè¡ã®æå€§æ° ãã㯠(10-56) MDAM_SCAN_METHOD MEMORY_USAGE_SAFETY_NET MERGE_MDAM_DISJUNCTS MIN_MAX_OPTIMIZATION MP_SUBVOLUME (10-60) MultiDimensional Access Method (MDAM) ã®æå¹åãŸãã¯ç¡å¹å MXCMP ã¡ã¢ãªãããå€ãã¡ã¬ãã€ãåäœã§æå®ããŸã ã¯ãšãªã®è¿°éšã«ãããã¬ã³ãžã®éè€ã®ããŒãžãå¶åŸ¡ããŸã MIN-MAX æé©åãæå¹åãŸãã¯ç¡å¹åããŸã NonStop ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ããã©ã«ãã® Guardian ãµãããªã¥ãŒã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ãªããžã§ã¯ãã®åœå (10-59) 158
MP_SYSTEM (10-60) MP_VOLUME (10-60) NonStop ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ããã©ã«ãã® Guardian ã·ã¹ãã å NonStop ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ããã©ã«ãã® Guardian ããªã¥ãŒã ãªããžã§ã¯ãã®åœå (10-59) ãªããžã§ã¯ãã®åœå (10-59) MSCF_ET_REMOTE_MSG_ TRANSFER ãªã¢ãŒãããŒããžã® / ããã®ã¡ãã»ãŒãžè»¢éã³ã¹ãã®èŠå ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ MULTIUNION MultiUnion æŒç®åãå¶åŸ¡ããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ ã¹ MXCMP_PLACES_LOCAL_ MODULES (10-58) ã°ããŒãã«ã«é 眮ãããã¢ãžã¥ãŒã«ã®çæå Žæãæ±ºå®ããŸã ã¢ãžã¥ãŒã«ç®¡ç MXCMP_TIMEOUT ã¢ã€ãã«ã® MXCMP ã³ã³ãã€ã©ãŒããã»ã¹ãæ¶æ» ãããã¿ã€ã ã¢ãŠãæéãæå®ããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ NAMETYPE (10-59) NATIONAL_CHARSET (10-59) NOT_NULL_CONSTRAINT_ DROPPABLE_OPTION (10-49) NUMBER_OF_USERS NUMERIC_PARAM_DEFAULT_ PRECISION (10-50) 3 éšæ§æã®è«çå (ANSI) ãŸã㯠4 éšæ§æã® Gardian å (NSK) ã®äœ¿çšã®èŠå®å€ NCHAR ã®äœ¿çšã®ããã®ããã©ã«ãæåã»ãã NOT NULL å¶çŽã«å¯Ÿãã DROPPABLE (ON) ãŸã㯠NOT DROPPABLE ã®èŠå®å€ 倧éã®ã¡ã¢ãªã䜿çšããåæã¯ãšãªãå®è¡ã§ãããŠãŒã¶ãŒã®æ° ã¯ãšãªã®ã³ã³ãã€ã«äžã¯ NUMERIC ã¿ã€ããšããŠæ±ã£ãã¿ã€ããªããã©ã¡ãŒã¿ãŒã®ç²ŸåºŠãå¶åŸ¡ããŸã ãªããžã§ã¯ãã®åœå (10-59) æåã»ãã (10-48) å¶çŽã®åé€å¯èœãªãã·ã§ã³ (10-49) ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ããŒã¿ã¿ã€ã (10-50) NUMERIC_PARAM_DEFAULT_ SCALE (10-50) ã¯ãšãªã®ã³ã³ãã€ã«äžã¯ NUMERIC ã¿ã€ããšããŠæ±ã£ãã¿ã€ããªããã©ã¡ãŒã¿ãŒã®ã¹ã±ãŒã«ãå¶åŸ¡ããŸã ããŒã¿ã¿ã€ã (10-50) OLT_QUERY_OPT ç¹å®ã®åçŽ SQL ã¯ãšãªçšã®ãã¡ãŒã¹ããã¹è©äŸ¡æ¹åŒãæå¹ã«ããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ OPTIMIZATION_LEVEL ã¯ãšãªã®æé©åã«ãããŠå¢å ããå·¥æ°ãå¶åŸ¡ããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ OPTIMIZER_HINTS_WARNING_LEVEL OPTS_PUSH_DOWN_DAM PARALLEL_NUM_ESPS ãªããã£ãã€ã¶ãŒã®ãã³ãã DML ã¯ãšãªã®æé©åãšããã©ãŒãã³æã§ç¡èŠãããããšã«å¯ŸããŠçºè¡ãã¹ ããèŠåã®ã¿ã€ããå¶åŸ¡ããŸã NonStop SQL/MX ã§ããã·ã¥ããŠã³ãã©ã³ãèæ ®ããããå¶åŸ¡ããŸã ç¹å®ã®ã¿ã€ãã®æŒç®å ( ããšãã° JOIN) ã«å¹æããã䞊å ESP ã®æå€§å€ ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ PM_OFFLINE_TRANSACTION_ GRANULARITY PM_ONLINE_TRANSACTION_ GRANULARITY POS_FOR_INDEX ãªãã©ã€ã³ã® MODIFY ãã©ã³ã¶ã¯ã·ã§ã³ã§ã³ããŒãããè¡ã®æ° ãªã³ã©ã€ã³ã® MODIFY ãã©ã³ã¶ã¯ã·ã§ã³ã§ã³ããŒãããè¡ã®æ° ã€ã³ããã¯ã¹çšã® POS ã®æå¹åãŸãã¯ç¡å¹åãå¶åŸ¡ããŸã ããŒãã£ã·ã§ã³ç®¡ç ããŒãã£ã·ã§ã³ç®¡ç ããŒãã£ã·ã§ã³ç®¡ç 159
POS_LOCATIONS POS_NUM_OF_PARTNS èªåçã«äœæãããããŒãã£ã·ã§ã³ã®äœçœ®ãå¶åŸ¡ããŸã èªåçã«äœæãããããŒãã£ã·ã§ã³ã®æ°ãå¶åŸ¡ããŸã ããŒãã£ã·ã§ã³ç®¡ç ããŒãã£ã·ã§ã³ç®¡ç POS_RAISE_ERROR ãšã©ãŒã®è¡šç€ºå¯åŠãå¶åŸ¡ããŸã ããŒãã£ã·ã§ã³ç®¡ç PREFERRED_PROBING_OR DER_FOR_NESTED_JOIN å éšããŒãã«ã®è¡ãã¢ã¯ã»ã¹ãã¹ã®ããŒé åºã§èªã¿èŸŒãŸããå¿ èŠãããããå¶åŸ¡ããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ PRESERVE_MIN_SCALE (10-51) PRIMARY_KEY_CONSTRAINT _ DROPPABLE_OPTION (10-49) 粟床ã 18 ãè¶ ããå Žåã« çµæããä¿åããæå°ã®ã¹ã±ãŒã« PRIMARY KEY å¶çŽã«å¯Ÿãã DROPPABLE (ON) ãŸã㯠NOT DROPPABLE ã®èŠå®å€ 颿°ã®å¶åŸ¡ (10-51) å¶çŽã®åé€å¯èœãªãã·ã§ã³ (10-49) QUERY_CACHE (10-72) QUERY_CACHE_MAX_VICTIMS (10-73) QUERY_CACHE_REQUIRED _ PREFIX_KEYS (10-73) SQL/MX ã³ã³ãã€ã©ãŒã 以åã«ã³ã³ãã€ã«ãããã¯ãšãªã®ãã£ãã·ã¥ããããã©ã³ãä¿æããããã«äœ¿çšã§ããæå€§ã¡ã¢ãªéãå¶åŸ¡ããŸã éåžžã«å€§ããªã¯ãšãªãã©ã³ããã£ãã·ã¥ããç§»åããããšãèš±ããããªãšã³ããªãŒã®æ°ãå¶éããŸã ç䟡ããŒã®è¿°éšããã£ãã·ã¥å¯èœãšå€æãããã®ã« è€åãã©ã€ããªããŒãŸãã¯ããŒãã£ã·ã§ã³ããŒã®ã©ã®åãããã€å¿ èŠã§ããããæ±ºå®ããŸã ã¯ãšãªãã©ã³ã®ãã£ãã·ã¥ (10-72) ã¯ãšãªãã©ã³ã®ãã£ãã·ã¥ (10-72) ã¯ãšãªãã©ã³ã®ãã£ãã·ã¥ (10-72) QUERY_CACHE_STATEMENT_ PINNING (10-73) ã¯ãšãªãã£ãã·ã¥ãšã³ããªãŒã®ãã³æ¢ã / ãã³å€ããå¶åŸ¡ããŸã ã¯ãšãªãã©ã³ã®ãã£ãã·ã¥ (10-72) READONLY_CURSOR (10-74) RECOMPILE_ON_ PLANVERSION_ERROR (10-78) RECOMPILATION_ WARNINGS (10-78) REF_CONSTRAINT_NO_ ACTION_LIKE_RESTRICT (10-74) åãæŽæ°å¯èœãšããããã®ã«ãŒãœã« è¡ã®ä¿å® (10-74) 宣èšã« FOR UPDATE ãå¿ èŠã§ããããå¶åŸ¡ããŸã æã®ã¢ã¯ã»ã¹ãã©ã³ãå®è¡æã«ããŒãžã§ã³ãšã©ãŒã«ããæå¹ã§ãªãå Žåã«åã³ã³ãã€ã«ãããããæ±ºå®ããŸã æãåçã«åã³ã³ãã€ã«ãããå ŽåèŠåãè¿ãããæ±ºå®ããŸã ã¹ããŒãã¡ã³ãã®åã³ã³ãã€ã« (10-77) ã¹ããŒãã¡ã³ãã®åã³ã³ãã€ã« (10-77) ALTER TABLE æããã³ CREATE åç §ã¢ã¯ã·ã§ã³ (10-74) TABLE æã§ã®åç §ã¢ã¯ã·ã§ã³ã NonStop SQL/MX ãã©ã®ããã«åŠçããããæ±ºå®ããŸã REMOTE_ESP_ALLOCATION ã¢ã¯ãã£ãã·ã¹ãã ãæ±ºå®ãããšãã«ãªããã£ãã€ã¶ãŒãèæ ®ããã¹ã³ãŒããèå¥ããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ SAVE_DROPPED_TABLE _DDL (10-81) åé€ãããããŒãã«ãããŒãã£ã·ã§ã³ãå埩å¯èœãšãªãããã« ãã®å®çŸ©ãä¿åãããããå¶åŸ¡ããŸã ããŒãã«ç®¡ç (10-80) SCHEMA (10-60) ããã©ã«ãã® ANSI ã¹ããŒãå ãªããžã§ã¯ãã®åœå (10-59) 160
SCRATCH_DISKS (10-75) SCRATCH_DISKS_ EXCLUDED (10-75) ãœãŒãæäœçšã®ã¹ã¯ã©ãããã£ã¹ã¯ã®ããªã¥ãŒã ãæå®å€ãŸã§ã«å¶éãã äžå®ã®ããªã¥ãŒã ã ãœãŒãæäœçšã«äœ¿çšãããã¹ã¯ã©ãããã£ã¹ã¯ããé€å€ããŸã ã¹ã¯ã©ãããã£ã¹ã¯ç®¡ç (10-75) ã¹ã¯ã©ãããã£ã¹ã¯ç®¡ç (10-75) SCRATCH_DISKS_ PREFERRED (10-75) SCRATCH_FREESPACE_THRES HOLD_PERCENT (10-75) SIMILARITY_CHECK (10-78) SKIP_UNAVAILABLE_PARTITION (10-57) SORT_MAX_HEAP_SIZE_MB STREAM_TIMEOUT (10-80) TABLELOCK (10-56) TEMPORARY_TABLE_ HASH_PARTITIONS (10-82) TIMEOUT (10-56) ãœãŒãæäœçšã®ã¹ã¯ã©ãããã£ã¹ã¯ãšããŠæãŸããããªã¥ãŒã å ãããå€ãšããŠãã£ã¹ã¯ã«æ®ãã¹ã¯ã©ããã¹ããŒã¹ã®é ã¢ã¯ã»ã¹ãã©ã³ãä¿åãŸãã¯åã³ã³ãã€ã«ããããã«é¡äŒŒæ§ãã§ãã¯ããããæ±ºå®ããŸã ã¯ãšãªã®ã¢ã¯ã»ã¹ãã©ã³ãèŠæ±ããããŒãã£ã·ã§ã³ãå©çšã§ããªããªã£ãå Žåã« SQL ãããã»ã¹ãç¶ç¶ããããå¶åŸ¡ããŸã ãœãŒãæŒç®åã«é¢ä¿ããæäœçšã«ããŒãã¡ã¢ãªã«ããã©ã«ãã®ãµã€ãºãå²ãåœãŠãŸã ã¹ããªãŒã ã¢ã¯ã»ã¹ã䜿çšããŠæ¬¡ã®è¡ãåŸ ã¡åããããã§ããåäœã® ããã©ã«ãã®ã¿ã€ã ã¢ãŠãå€ ããŒãã«ããã¯ã䜿çšãããšãã®ããã©ã«ã ããªã¬ãŒäžæããŒãã«çšã®ããŒãã£ã·ã§ã³ãæå®ããŸã NonStop SQL/MX ãããã¯ã®ã¿ã€ã ã¢ãŠããšã©ãŒãè¿ããŸã§ã®ããã©ã«ãã®åŸ ã¡æé ã¹ã¯ã©ãããã£ã¹ã¯ç®¡ç (10-75) ã¹ã¯ã©ãããã£ã¹ã¯ç®¡ç (10-75) ã¹ããŒãã¡ã³ãã®åã³ã³ãã€ã« (10-77) ããŒã«ã«ã®èªç«æ§ (10-57) ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ã¹ããªãŒã ã¢ã¯ã»ã¹ (10-79) ãã㯠(10-56) ããªã¬ãŒã®ç®¡ç (10-82) ãã㯠(10-56) UNION_TRANSITIVE_ PREDICATES UNION ã®éæž¡çè¿°éšãå¶åŸ¡ããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ UDR_JAVA_OPTIONS (10-79) UPD_ORDERED UPD_ABORT_ON_ERROR (10-77) UPD_SAVEPOINT_ON_ERROR (10-77) VARCHAR_PARAM_ DEFAULT_SIZE (10-50) SPJ ã® Java ç°å¢çšã® JVM èµ·åãªãã·ã§ã³ãæå®ããŸã è¡ã®æ¿å ¥ æŽæ° åé€ã§ ã¯ã©ã¹ã¿ãªã³ã°ããŒé ã«å®è¡ããå¿ èŠãããããå¶åŸ¡ããŸã ãšã©ãŒã®çºçæã« æŽæ° æ¿å ¥ ãŸãã¯å逿©èœãäžæããããå¶åŸ¡ããŸã DP2 ã»ãŒããã€ã³ãã䜿çšããã ãšã©ãŒã®ãšããã©ã³ã¶ã¯ã·ã§ã³ãäžæããå¿ èŠãããããå¶åŸ¡ããŸã ã¯ãšãªã®ã³ã³ãã€ã«äžã« VARCHAR ã¿ã€ããšããŠæ±ã£ãã¿ã€ããªããã©ã¡ãŒã¿ãŒã®èš±å®¹ãããé·ããå¶åŸ¡ããŸã Java ã®ã¹ãã¢ãããã·ãŒãžã£ãŒ (10-79) ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ã¹ããŒãã¡ã³ãã®ååæ§ (10-77) ã¹ããŒãã¡ã³ãã®ååæ§ (10-77) ããŒã¿ã¿ã€ã (10-50) 161
ZIG_ZAG_TREES ç·åœ¢ã®ããªãŒã«å ããŠãžã°ã¶ã°ã®ããªãŒãžã®èæ ®ãæå¹åãŸãã¯ç¡å¹åããŸã ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ 詳现㯠åã ã®å±æ§ã®èª¬æãåç §ããŠãã ãã 162
ã¡ã¿ããŒã¿ç®¡ç ãã®å±æ§ã«ãã NonStop SQL/MX ã¯ã¡ã¿ããŒã¿ã®ç®¡çãã§ããŸã 屿§ CREATE_DEFINITION_SCHEM A_VERSION èšå® ã¹ããŒãã®äœææã« æ°èŠã®ã¹ããŒãã«ã¹ããŒãããŒãžã§ã³ãå²ãåœãŠãŸã SQL/MX 3.4 ã§ã¯ æå¹ãªã¹ããŒãããŒãžã§ã³ã¯ 3200 ããã³ 3400 ã§ã ããã©ã«ãå€ã¯ SYSTEM ã§ã 以äžã®ã·ããªãªã§ ã¹ããŒãããŒãžã§ã³ã®å²ãåœãŠæ¹æ³ã説æããŸã CREATE_DEFINITION_SCHEMA_VERSION ã SYSTEM ã«èšå®ãããå Žå : 圱é¿ãåããã«ã¿ãã°ã«ã¹ããŒããååšããªãå Žå æ°èŠã®ã¹ããŒãã¯çŸåšã®ã¹ããŒãããŒãžã§ã³ã䜿çšããŸã 圱é¿ãåããã«ã¿ãã°ã«ã¹ããŒããååšããå Žå æ°èŠã®ã¹ããŒãã¯ååšããã¹ããŒãããŒãžã§ã³ã䜿çšããŸã CREATE_DEFINITION_SCHEMA_VERSION ã SYSTEM 以å€ã®å€ã«èšå®ãããå Žå : ãã®å€ã ã¹ããŒãäœææã®ã«ã¿ãã°ã«ååšããã¹ããŒãã®ããŒãžã§ã³ãšç°ãªãå Žå ãšã©ãŒ 25221 ãçæãããŸã ãã®å€ãæå¹ãªã¹ããŒãããŒãžã§ã³ã§ã¯ãªãå Žå ã¹ããŒãäœææã«ãšã©ãŒ 25222 ãçæãããŸã 163
ããŒãã£ã·ã§ã³ç®¡ç ãããã®å±æ§ã¯ NonStop SQL/MX ã®ããŒãã£ã·ã§ã³ç®¡çã«äœ¿çšãããŸã 屿§ DDL_DEFAULT_LOCATIONS GEN_MAX_NUM_PART_DISK_ENTRIES GEN_MAX_NUM_PART_NODE_ENTRIES èšå® LOCATION å¥ãæå®ãããŠããªã CREATE æã§äœæããããã©ã€ããªã¬ã³ãžããŒãã£ã·ã§ã³ã®ç©ççäœçœ®ã§ [\node.]$volume ã§æå®ãããŸã ã«ã³ãã§åºåã£ãŠè€æ°ã®äœçœ®ãæå®ã§ããŸã ãã®ããã©ã«ããæå®æžã¿ã§ LOCATION å¥ãæå®ããªãã§ CREATE TABLE æ CREATE INDEX æãŸã㯠CREATE PROCEDURE æãå ¥åããå Žå äœçœ®ã¯æå®ããããªã¹ããã 1 ã€ã®ããªã¥ãŒã ãéžæããããšã§æ±ºå®ãããŸã æã« LOCATION å¥ããªã ãã®ããã©ã«ããæå®ããŠããªãã ã¹ããŒã¹ (" ") ãèšå®ããŠããå Žå NonStop SQL/MX 㯠ããŒãã£ã·ã§ã³ã®äœçœ®ãšã㊠=_DEFAULTS ç°å¢å€æ°ã®å€ ( ããã©ã«ãããªã¥ãŒã ) ã䜿çšããŸã ãã®ããã©ã«ããæå®æžã¿ã§ LOCATION å¥ãæå®ããªãã§ CREATE CATALOG æãå ¥åããå Žå ã«ã¿ãã°ã®ã¡ã¿ããŒã¿ã®äœçœ®ã¯æå®ããããªã¹ããã 1 ã€ã®ããªã¥ãŒã ãéžæããããšã§æ±ºå®ãããŸã ããã©ã«ãã§ã¯æå®ãªãã§ã æ³šèš : ãã®å±æ§ã¯ NonStop SQL/MX Release 2.1 以éãå®è¡ããã·ã¹ãã ã§ã®ã¿å©çšã§ããŸã éçã«ã³ã³ãã€ã«ãããæãåå²ãªããžã§ã¯ããåç §ããå Žå ãã®ããã©ã«ã㯠ã³ã³ãã€ã©ãŒãæºåããããŒãã£ã·ã§ã³ãªã¹ãã®ãµã€ãºãå¶åŸ¡ããã®ã«äœ¿çšãããŸã ãŸã ãšã¯ãŒãã¥ãŒã¿ãŒãæåã«ãªããžã§ã¯ããéããšãã«äœ¿çšãã ããŒããšãã£ã¹ã¯ã®èªç«æ§ããµããŒãããŸã ããŒããšããªã¥ãŒã ã«ãŸããã£ãŠãªããžã§ã¯ããåå²ãã ãããããªãã©ã€ã³ã®ãšã ãšã¯ãŒãã¥ãŒã¿ãŒã¯ ããŒãã£ã·ã§ã³ãªã¹ãã®ãšã³ããªãŒããå¥ã®ããŒããšããªã¥ãŒã ãéãããšãã§ããŸã ãã®ããã©ã«ãã¯ç¹ã« ãªã¹ãã®ãšã³ããªãŒã«ããããŒããããã®ããªã¥ãŒã ã®æå€§æ°ãå¶åŸ¡ããŸã ãã®ããã©ã«ããå°ããå€ã«ããããšã§ ãšã¯ãŒãã¥ãŒã¿ãŒãéãããšããããŒããããã®ããŒãã£ã·ã§ã³æ°ãå¶éããããšãã§ããŸã èš±å®¹å€ :0~4294967295 SYSTEM ããã©ã«ãå€ã¯ 3 ã§ã éçã«ã³ã³ãã€ã«ãããæãåå²ãªããžã§ã¯ããåç §ããå Žå ãã®ããã©ã«ã㯠ã³ã³ãã€ã©ãŒãæºåããããŒãã£ã·ã§ã³ãªã¹ãã®ãµã€ãºãå¶åŸ¡ããã®ã«äœ¿çšãããŸã ãŸã ãšã¯ãŒãã¥ãŒã¿ãŒãæåã«ãªããžã§ã¯ããéããšãã«äœ¿çšãã ããŒããšãã£ã¹ã¯ã®èªç«æ§ããµããŒãããŸã ããŒããšããªã¥ãŒã ã«ãŸããã£ãŠãªããžã§ã¯ããåå²ãã ãããããªãã©ã€ã³ã®ãšã ãšã¯ãŒãã¥ãŒã¿ãŒã¯ ããŒãã£ã·ã§ã³ãªã¹ãã®ãšã³ããªãŒããå¥ã®ããŒããšããªã¥ãŒã ãéãããšãã§ããŸã ãã®ããã©ã«ãã¯ç¹ã« ãªã¹ãã« 1 ã€ä»¥äžã®ãšã³ããªãŒãããããŒãã®æå€§æ°ãå¶åŸ¡ããŸã ãã®ããã©ã«ããå°ããå€ã«ããããšã§ ãšã¯ãŒãã¥ãŒã¿ãŒãå©çšå¯èœãªããŒãã£ã·ã§ã³ãæ€åºããããšããããŒãæ°ãå¶éããããšãã§ããŸã èš±å®¹å€ :0~4294967295 SYSTEM ããã©ã«ãå€ã¯ 255 ã§ã 164
PM_OFFLINE_TRANSACTION_GRANULARITY PM_ONLINE_TRANSACTION_GRANULARITY POS_FOR_INDEX POS_LOCATIONS POS_NUM_OF_PARTNS POS_RAISE_ERROR ãªãã©ã€ã³ã® MODIFY ãã©ã³ã¶ã¯ã·ã§ã³ã§ã³ããŒãããè¡ã®æ°ãã®å±æ§ã«ãã 倧éã®ããŒã¿ãæ±ãããŒãã£ã·ã§ã³æäœãåå¥ã®å°ããªãã©ã³ã¶ã¯ã·ã§ã³ã§å®è¡ããããšãå¯èœã«ãªããŸã èš±å®¹å€ :50~4194303 ( 䞡端ãå«ã ) ããã©ã«ãå€ã¯ 5000 ã§ã ãªã³ã©ã€ã³ã® MODIFY ãã©ã³ã¶ã¯ã·ã§ã³ã§ã³ããŒãããè¡ã®æ°ãã®å±æ§ã«ãã 倧éã®ããŒã¿ãæ±ãããŒãã£ã·ã§ã³æäœãåå¥ã®å°ããªãã©ã³ã¶ã¯ã·ã§ã³ã§å®è¡ããããšãå¯èœã«ãªããŸã èš±å®¹å€ :50~4194303 ( 䞡端ãå«ã ) ããã©ã«ãå€ã¯ 400 ã§ã ã€ã³ããã¯ã¹çšã® POS ãæå¹åãŸãã¯ç¡å¹åããŸã èšå®ã§ããå€ã¯ ON ãŸã㯠OFF ã§ã OFF ã«èšå®ãããš ã€ã³ããã¯ã¹çš POS ã¯äœ¿çšã§ããŸãã ON ã«èšå®ãããš ã€ã³ããã¯ã¹çš POS ã䜿çšã§ããŸã ã€ã³ããã¯ã¹çšããŒãã£ã·ã§ã³ã®èªåäœæ ãåç §ããŠãã ãã ããã©ã«ã㯠OFF ã§ã èªåçã«äœæãããéãã©ã€ããªããŒãã£ã·ã§ã³ã®ç©ççäœçœ®ã§ [\node.]$volume ã§æå®ãããŸã ã«ã³ãã§åºåã£ãŠè€æ°ã®äœçœ®ãæå®ã§ããŸã ã¹ããŒã¹ ( ) ãå ¥åãããš NonStop SQL/MX 㯠2 çªç®ããæåŸãŸã§ã®ããŒãã£ã·ã§ã³äœçœ®ãã©ã³ãã ã«éžæããŸã NonStop SQL/MX 㯠以äžã®ãããªã¿ã€ãã®ãã£ã¹ã¯ã«ããŒãã£ã·ã§ã³ãäœæããŸãã ãªãŒãã£ãããã¬ãŒã«ããªã¥ãŒã éãªãŒãã£ãã察象ãã£ã¹ã¯ å ãã£ã¹ã¯ ãã¡ã³ãã ãã£ã¹ã¯ SMS ä»®æ³ãã£ã¹ã¯ ããŒãã£ã·ã§ã³ã®èªåäœæ (2-125) ãåç §ããŠãã ãã ããã©ã«ãã§ã¯æå®ãªãã§ã èªåçã«äœæãããããŒãã£ã·ã§ã³ã®æ°å€ã 1 ãã倧ãããšã NonStop SQL/MX 㯠ãã©ã€ããªããŒãã£ã·ã§ã³ãå«ãã§åæ°ã®ããŒãã£ã·ã§ã³ãäœæããŸã å€ã 1 ãŸã㯠0 ã®å Žå Partition Overlay Support (POS) ã¯ç¡å¹ã§ã 詳现㯠ããŒãã£ã·ã§ã³ã®èªåäœæ (2-125) ãåç §ããŠãã ãã èš±å®¹å€ :0~4294967295 SYSTEM äœæããããŒãã£ã·ã§ã³çšã®äœçœ®ã®ååã POS æ©èœã§çæã§ããªãå Žå ãŸã㯠POS æ©èœãé©çšãããŠããªãããšã瀺ãèŠåãçæãã¹ããšã ããã³ããŒãã£ã·ã§ã³ã®ãªãåçŽãªããŒãã«ãäœæããããšãã«ãšã©ãŒãçæããããæ±ºå®ããŸã OFF ( ããã©ã«ãå€ ) ã«èšå®ãããå Žå POS ãé©çšãããŠããªãããšã瀺ãèŠåã衚瀺ãã ããŒãã£ã·ã§ã³ã®ãªãåçŽãªããŒãã«ãäœæãããŸã On ã«èšå®ãããå Žå ãããå Žå äœçœ®ã®ååãçæã§ããªãã£ãããšã瀺ããšã©ãŒã衚瀺ãããŸã ããã©ã«ã㯠OFF ã§ã 165
ã¯ãšãªã®æé©åãšããã©ãŒãã³ã¹ ãããã®å±æ§ã¯ NonStop SQL/MX ã ã¯ãšãªã®å®è¡ãæé©åããããšãå¯èœã«ããŸã 屿§ ALLOW_DP2_ROW_SAMPLING ATTEMPT_ASYNCHRONOUS_ACCESS ATTEMPT_ESP_PARALLELISM CHECK_CONSTRAINT_PRUNING èšå® SYSTEM ON ãŸã㯠OFF ã«èšå®ããŸã SQL/MX ã¯ãšãªã SAMPLE å¥ãå«ãå Žå ãã®å±æ§ã¯ ãµã³ããªã³ã°åäœã DP2 ã«ããå®è¡ãããããŸã㯠SQL/MX Executor ã«ããå®è¡ãããããæ±ºå®ããŸã SYSTEM ã«èšå®ãããå Žå ãµã³ããªã³ã°ã¯ãµã³ãã«çæå€§ 5 ããŒã»ã³ãã§ DP2 ã«ããå®è¡ãããŸã ON ã«èšå®ãããå Žå ãµã³ããªã³ã°ã¯ãµã³ãã«çæå€§ 50 ããŒã»ã³ãã§ DP2 ã«ããå®è¡ãããŸã OFF ã«èšå®ãããå Žå ãµã³ããªã³ã°ã¯ DP2 ã§ã¯ãªã SQL/MX Executor ã«ããå®è¡ãããŸã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ããã©ã«ã㯠SYSTEM ã§ã ON ãŸã㯠OFF ã«èšå®ããŸã ON ã«èšå®ãããå Žå ãªããã£ãã€ã¶ãŒã¯è€æ°ã®ããŒãã£ã·ã§ã³ãéåæã«ã¢ã¯ã»ã¹ãããã©ã³ãçæããŸã éåæã¢ã¯ã»ã¹ã§ã¯ ãªããã£ãã€ã¶ãŒã¯ããŒãã£ã·ã§ã³ã䞊åã«ã¢ã¯ã»ã¹ããã®ã« ESP ã䜿çšããŸãã ãã®èšå®ã¯ããŒãã£ã·ã§ã³ãæã€ããŒãã«ãžã®ã¹ããªãŒãã¢ã¯ã»ã¹ãèš±å¯ãããã«ã圱é¿ããŸã ã¹ããªãŒã ã¢ã¯ã»ã¹ã®å¶é (2-341) ãåç §ããŠãã ãã ãã®èšå®ã«é¢ãã远å ã®æ å ±ã«ã€ããŠã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ããã©ã«ã㯠ON ã§ã ON OFF ãŸã㯠SYSTEM ã«èšå®ããŸã ON ã®ãšã ãªããã£ãã€ã¶ãŒã¯ ESP äžŠåæ§ã䜿çšã§ãããã¹ãŠã®æŒç®åã«ã€ã㊠ESP äžŠåæ§ã䜿çšãããã©ã³ãçæããŠèæ ®ããŸã OFF ã®ãšã ãªããã£ãã€ã¶ãŒã¯ ESP äžŠåæ§ã䜿çšãããã©ã³ãçæãèæ ®ããããšã¯ãããŸãã SYSTEM ã®ãšã ãªããã£ãã€ã¶ãŒã¯ ESP äžŠåæ§ã䜿çšãããã©ã³ããã€çæããŠèæ ®ããããæŒç®åããšã«æ±ºå®ããŸã èšå®ã«é¢ããè¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ããã©ã«ã㯠SYSTEM ã§ã ON OFF RESET ãŸã㯠SYSTEM ã«èšå®ããŸã ããã©ã«ã㯠ON ã§ã OFF ã®ãšã å¶çŽããŒã¹ã®ã¯ãšãªåãèŸŒã¿æé©åã¯åŸç¶ã®ã¯ãšãªã«ã¯è©Šè¡ãããŸãã CQD å€ã® RESET ãŸã㯠SYSTEM 㯠CQD ã®å€ãããã©ã«ãå€ã«æ»ããŸã å¶çŽããŒã¹ã®åã蟌ã¿ã§ã¯ Constant Range Predicate Folding (CRPF) æ©èœã䜿çšããŸã CRPF 㯠å®éã®å€ãæå€§ 15 æ¡ã®ç²ŸåºŠã® double ããŒã¿ã¿ã€ãã§ä¿åããããã« EncodedValue ãªããžã§ã¯ãã䜿çšããŸã 15 æ¡ä»¥äžã®ç²ŸåºŠãæã€ããŒã¿ã¿ã€ã ( ããšãã° largeint) ã§ã¯ ãã®å€æã§ãã粟床ã®é«ãå®éã®å€ã double ã«å€æãããšæ¯èŒã§èª€ããçããŸã ãããã£ãŠ æ¯èŒã®å€ã 15 æ¡ä»¥äžã®ç²ŸåºŠãæã€å Žåã¯å¶çŽåã蟌ã¿ã¯é©çšããŸãã ãã§ãã¯å¶çŽåãèŸŒã¿æ©èœã®è©³çŽ°ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã 166
CPU_LIST_FOR_ESP_PLACEMENT CROSS_PRODUCT_CONTROL DATA_FLOW_OPTIMIZATION DDL_VIEW_SIMILARITY_CHECK DEFAULT_LENGTH_OF_STRING_FUNCTIONS DP2_CACHE_4096_BLOCKS ã¯ãšãªå®è¡äžã® 1 ã€ä»¥äžã®ããŒãäžã®ãŠãŒã¶ãŒå®çŸ©ã® CPU ã»ãããžã® ESP ã®é 眮ãå¶åŸ¡ã§ããŸã 屿§ã«ãŠãŒã¶ãŒå®çŸ©ã® CPU ã»ãããäºåã«å®çŸ©ããã圢åŒã§èšå®ããããšã§æå¹åããŸã æ©èœãç¡å¹åããã«ã¯ 屿§ããªã»ããããŸã ããã©ã«ãå€ã¯ç©ºã®æååã§ ãã㯠SQL/MX ã³ã³ãã€ã©ãŒããã¹ãŠã®å©çšå¯èœãª CPU ã ESP é 眮ã®å¯Ÿè±¡ãšããŠèæ ®ããããšãæå³ããŸã ESP ã® CPU ãžã®é 眮ã«ã€ããŠè©³ãã㯠SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ON ãŸã㯠OFF ã«èšå®ããŸã On ã®ãšã äžå¿ èŠã§è² è·ã®å€§ããã¯ãã¹ç© ( çµåè¡éšã®ãªãçµå ) ãå«ãã¯ãšãªãã©ã³ãé€å»ããããšã§ã³ã³ãã€ã«æéãåæžãããŸã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ããã©ã«ã㯠ON ã§ã ON ãŸã㯠OFF ã«èšå®ããŸã æ¯èŒçã«é«ãããŒã¿ãããŒé床ãæã€ã¯ãšãªãã©ã³ãèæ ®ããªãããšã§ã³ã³ãã€ã«æéãåæžãããŸã ããã©ã«ã㯠ON ã§ ãã©ã³ã®å質ã«åœ±é¿ãäžããããšãªãã³ã³ãã€ã«æéãæ¹åãããŸã ããã©ã«ãã®ãã¥ãŒã é¡äŒŒæ§ãã§ãã¯ãæå¹ã§äœæãããã ç¡å¹ã§äœæãããããæå®ããŸã æå®ããããš CREATE VIEW æããã³ ALTER VIEW æã® SIMILARITY CHECK å¥ã¯ CQD èšå®ããåªå ãããŸã ãã¹ãããããã¥ãŒããã³ VALUE å¥ãæã€ãã¥ãŒã«ã¯ é¡äŒŒæ§ãã§ãã¯ã¯ãµããŒããããŸãã ãããã®ãã¥ãŒã«å¯ŸããŠãšã©ãŒãè¿ãã㯠CQD ã®èšå®ã«ããæ±ºå®ãããŸã ãã® CQD ã®èšå®ãšãã®åäœã以äžã«ç€ºããŸã ENABLE/SYSTEM ã«èšå®ãããå Žå ãµããŒãããããã¥ãŒå®çŸ©ã§ã¯é¡äŒŒæ§ãã§ãã¯ãæå¹ã«ãªã ãã以å€ã§ã¯ç¡å¹ã«ãªããŸã ON ã«èšå®ãããå Žå ãµããŒãããããã¥ãŒå®çŸ©ã§ã¯é¡äŒŒæ§ãã§ãã¯ãæå¹ã«ãªã ãã以å€ã§ã¯ ãã¥ãŒã¯äœæããããšã©ãŒãè¿ããŸã DISABLE/OFF ã®ãšã é¡äŒŒæ§ãã§ãã¯ã¯ç¡å¹ã«ãªããŸã REPEAT() 颿°ã®æ»ãå€ã®é·ããæå®ããŸã ããã©ã«ãå€ã¯ 32768 ã§ã èš±å®¹å€ :1~32768 ãã£ã¹ã¯ãã£ãã·ã¥çšã«å²ãåœãŠã 4KB ãããã¯ã®æ°ãæå®ããŸã ãã®å€ã¯ ã³ã³ãã€ã©ãŒã䜿çšã㊠ããŒãã« / ã€ã³ããã¯ã¹ã®ã¹ãã£ã³æŒç®åã®ã³ã¹ãã確å®ããŸã ãã®å±æ§ã®å€ã¯ ã·ã¹ãã å ã®ãã¹ãŠã®ããªã¥ãŒã ã®4KB ãããã¯ã®ãã£ã¹ã¯ãã£ãã·ã¥èšå®ã®å¹³åå€ã«ããå¿ èŠããããŸã ãã£ã¹ã¯ãã£ãã·ã¥ã«å²ãåœãŠãããŠãã4KB ãããã¯æ°ã®çŸåšã®å€ã¯ SCF ã䜿çšããŠæ±ºå®ã§ããŸã ãã®è£œåã®è©³çŽ°ã¯ SCF Reference Manual for G-Series RVUs ãåç §ããŠãã ãã 蚱容å€:1~4294967295 ããã©ã«ãå€ã¯ 1024 ã§ã 167
ENABLE_LAZY_CANCEL ENABLE_LEFT_LINEARIZATION_FOR _ LEFT_JOINS ENABLE_OPTIMIZER_HINTS FFDC_DIALOUTS_FOR_MXCMP GENERATE_EXPLAIN å®è¡äžã«ãã£ã³ã»ã«ããã SELECT æã® DP2 çµ±èšãåãåºããåŠããæå®ããŸã 以äžã®æ¡ä»¶ã®ãšãæã¯ãã£ã³ã»ã«ã§ããŸã å®è¡äžã«ãšã©ãŒãçºçãã FIRST N å¥ã䜿çšãã SELECT æã«å¯ŸããŠå¿ èŠãªæ°ã®è¡ãååŸããã ON ã«èšå®ãããå Žå DP2 çµ±èšãè¿ãããŸã OFF ã«èšå®ãããå Žå è¿ãããçµ±èšã¯ä¿¡é Œã§ããŸãã ããã©ã«ã㯠OFF ã§ã ATTEMPT_ASYNCHRONOUS_ACCESS ããã©ã«ãã OFF ã«èšå®ãããŠããå Žå ãããªãã·ã¥ / ãµãã¹ã¯ã©ã€ãã¯ãšãªãžã®åœ±é¿ã¯ãããŸãã LEFT çµåã®ããã® LEFT ç·åœ¢åãæå¹å (ON) ãŸãã¯ç¡å¹å (OFF) ããŸã ON ã«èšå®ãããå Žå ãªããã£ãã€ã¶ãŒã¯ LEFT çµåã®ããã® LEFT ç·åœ¢åãã©ã³ãçæãèæ ®ããŸã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ããã©ã«ã㯠OFF ã§ã ON ãŸã㯠OFF ã«èšå®ããŸã ON ã«èšå®ãããå Žå ã³ã³ãã€ã©ãŒã¯ SQL æã«æå®ããããªããã£ãã€ã¶ãŒã®ãã³ããç¶æ¿ããããšããŸã OFF ã«èšå®ãããå Žå ã³ã³ãã€ã©ãŒã¯ SQL æã«æå®ããããã¹ãŠã®ãªããã£ãã€ã¶ãŒãã³ããç¡èŠããŸã ããã©ã«ã㯠ON ã§ã ON ãŸã㯠OFF ã«èšå®ããŸã ã³ã³ãã€ã©ãŒãç°åžžçµäºããã å éšãšã©ãŒã§çµçµãããšãã« FFDC ãã€ã¢ã«ã¢ãŠããçºçãããããå¶åŸ¡ããŸã ããã©ã«ã㯠OFF ã§ã ãã€ã¢ã«ã¢ãŠãã¯èš±å¯ãããŸãã ã³ã³ãã€ã«æã® EXPLAIN æ å ±ã®çæãæå¹ã«ããŸã MXCI ã§ã¯ MXCI ã®èµ·åæã«çºè¡ããã ONTROL QUERY DEFAULT GENERATE_EXPLAIN 'ON' ã³ãã³ãã«ããããã©ã«ãã¯èªåçã« ON ã«ãªããŸã MXCI ã®ããã©ãŒãã³ã¹ãã¹ãã§ã¯ GENERATE_EXPLAIN ããªãã«ããŠããããšããå§ãããŸã MXCI ããæãæºåããéã MXCI ã®ããã©ãŒãã³ã¹ãã¹ããè§£æããéã« EXPLAIN ã®çææéãå«ããããªãå Žå㯠GENERATE_EXPLAIN ãæç€ºçã«ãªãã«ããå¿ èŠããããŸã ã¢ã¯ã»ã¹ãã©ã³ãŸã㯠EXPLAIN æ å ±ã衚瀺ãããå Žå㯠NonStop MXCS çš GENERATE_EXPLAIN ããã³ãã®ä»çµã¿èŸŒã¿ã®åçã¯ãšãªãæç€ºçã«ãªã³ã«ããå¿ èŠããããŸã ããã©ã«ãèšå®ã¯ çµã¿èŸŒã¿ã®çµ±èšã¯ãšãªçšã« ON åçã¯ãšãª ( çµã¿èŸŒã¿ããã°ã©ã ãŸã㯠MXCS) çšã« OFF ã§ã 168
GEN_EIDR_BUFFER_SIZE GEN_PA_BUFFER_SIZE INDEX_ELIMINATION_LEVEL JOIN_ORDER_BY_USER MAX_ESPS_PER_CPU_PER_OP MDAM_SCAN_METHOD GEN_PA_BUFFER_SIZE ãšçµã¿åãã㊠ããŒãã£ã·ã§ã³ã¢ã¯ã»ã¹æäœçšã®ãããã¡ãŒãµã€ãºã決å®ããŸã 2 ã€ã®ããã©ã«ãèšå®ã¯åçã§ããå¿ èŠããããŸã åããŒãã£ã·ã§ã³ã¯ 1 ã€ã®ããŒãã£ã·ã§ã³ã¢ã¯ã»ã¹æŒç®åãæã¡ ããã©ã«ãã§ã¯ åããŒãã£ã·ã§ã³ã¢ã¯ã»ã¹æŒç®åã¯é¢é£ãã 7 ãããã¡ãŒãæã¡ãŸã OLTP ã¢ããªã±ãŒã·ã§ã³ã§ ãããã¡ãŒãµã€ãºã4KB ã«åæžãããš ã¡ã¢ãªäœ¿çšçãæžã ããã©ãŒãã³ã¹ãåäžããŸã DSS ã¢ããªã±ãŒã·ã§ã³ã§ã¯ããã©ã«ãã䜿çšããŠãã ãã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ããã©ã«ãã®ãããã¡ãŒãµã€ãºã¯ 31KB ã§ã GEN_EIDR_BUFFER_SIZE ãšçµã¿åãã㊠ããŒãã£ã·ã§ã³ã¢ã¯ã»ã¹æäœçšã®ãããã¡ãŒãµã€ãºã決å®ããŸã 2 ã€ã®ããã©ã«ãèšå®ã¯åçã§ããå¿ èŠããããŸã OLTP ã¢ããªã±ãŒã·ã§ã³ã§ ãããã¡ãŒãµã€ãºã4KB ã«åæžãããš ã¡ã¢ãªäœ¿çšçãæžã ããã©ãŒãã³ã¹ãåäžããŸã DSS ã¢ããªã±ãŒã·ã§ã³ã§ã¯ããã©ã«ãã䜿çšããŠãã ãã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ããã©ã«ãã®ãããã¡ãŒãµã€ãºã¯ 31KB ã§ã MINIMUM MEDIUM ãŸã㯠MAXIMUM ã«èšå®ã ãªããã£ãã€ã¶ãŒãèæ ®ããã€ã³ããã¯ã¹ã®ãã¥ãŒãªã¹ãã£ãã¯ãªåé€ã®çšåºŠãæç€ºããŸã ããèŠèŸŒã¿ã®ãªãã€ã³ããã¯ã¹ã®é€å»ã¯ ã³ã³ãã€ã«æéã®æ¹åã«ãªããŸã MINIMUM ã®å€ã¯é€å»ããªãããšã瀺ã MAXIMUM ã¯æå€§ã®é€å»ã瀺ããŸã ããã©ã«ãå€ã¯ MAXIMUM ã§ã ã¯ãšãªã® FROM å¥ã§æå®ããçµåé åºãæå¹å (ON) ãŸãã¯ç¡å¹å (OFF) ããŸã ON ãèšå®ãããå Žå ãªããã£ãã€ã¶ãŒã¯æå®ããçµåé åºãæã€å®è¡ãã©ã³ã®ã¿ãèæ ®ããŸã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ããã©ã«ã㯠OFF ã§ã ç¹å®ã®æŒç®åã«ã€ã㊠ãªããã£ãã€ã¶ãŒãå CPU ã«å¯ŸããŠèµ·åããããšãèæ ®ãã ESP ã®æå€§æ°ãèšå®ããŸã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ããã©ã«ã㯠1 ã§ ç¹å®ã®æŒç®åã«ã€ã㊠ãªããã£ãã€ã¶ãŒãå CPU ã«å¯ŸããŠèµ·åããããšãèæ ®ãã ESP ã®æ°ã¯ 1 ã€ã®ã¿ã§ã èš±å®¹å€ :1 >1 MultiDimensional Access Method (MDAM) ã®æå¹å (ON) ãŸãã¯ç¡å¹å (OFF) ããçš®ã®ç¶æ³ã§ã¯ ãªããã£ãã€ã¶ãŒãäžé©åã« MDAM ãéžæã ããã©ãŒãã³ã¹ã®äœäžãæãå¯èœæ§ããããŸã SQL/MP ã®çæäºé :SQL/MP ãŠãŒã¶ãŒã¯ ãã®å±æ§ã CONTROL TABLE MDAM ENABLE ãšç¥ã£ãŠããŸã ããã©ã«ã㯠ON ã§ã 169
MEMORY_USAGE_SAFETY_NET MERGE_MDAM_DISJUNCTS MIN_MAX_OPTIMIZATION MSCF_ET_REMOTE_MSG_TRANSFER MXCMP_TIMEOUT MULTIUNION SQL/MX ã³ã³ãã€ã©ãŒãæé©ãªã¯ãšãªãã©ã³ãçæããããã«äœ¿çšããã¡ã¢ãªãããå€ã ã¡ã¬ãã€ãåäœ (MB) ã§æå®ããŸã è€åã¯ãšãªã§ã¯ ãªããã£ãã€ã¶ãŒã®ã¡ã¢ãªããã®å€ã«éããå Žå ãã©ã³ãã¡ã¢ãªã®å¢å ãæããããåã蟌ã¿ãããŸã ãã®å±æ§ã«å°ããããå€ãèšå®ãããš æé©ã§ã¯ãªããã©ã³ãçæãããŸã NonStop ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã äžã®ããã»ã¹ã§å©çšã§ããå®éã®ã¡ã¢ãªã¯çŽ 1.4GB ã«å¶éãããŸã ãããã£ãŠ ãã®å€ã« 1.4GB ãã倧ããå€ãèšå®ããŠã ããã»ã¹ãã·ã¹ãã å¶éãã倧ããã¡ã¢ãªãæã€ããšã«ã¯ãªããŸãã ã¡ã¢ãªãµã€ãºã¯ åºç€ãšãªããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®å¶éã«å¶çŽãããŸã ãªããã£ãã€ã¶ãŒãèšå®ãããããå€ã«éããå Žå èŠå 6020 ã衚瀺ãã ã¯ãšãªã¯æ£åžžçµäºããŸã çæããããã©ã³ã¯æé©ã§ã¯ãªãå¯èœæ§ããã å®è¡é床ãé ãå¯èœæ§ããããŸã ãã®å±æ§ã¯ 256~4096 ã®ç¯å²ã®å€ãæã€ããšãã§ããŸã ããã©ã«ãå€ã¯ OFF ã§ ãªããã£ãã€ã¶ãŒã¯å©çšã§ããæå€§ã®ã¡ã¢ãªã䜿çšã§ããŸã ON ãŸã㯠OFF ã«èšå®ããŸã ãã®å±æ§ã¯éè€ããç¯å²ã®ããŒãžãå¶åŸ¡ã IN ãªã¹ãããéè€éšåãåé€ã ãã®çµæåè£ã®æ°ãåæžããŸã OFF ã«èšå®ãããå Žå æ©èœãç¡å¹ã«ãªããŸã ON ã«èšå®ãããå Žå æ©èœã¯æå¹ã«ãªããŸãã LIKE è¿°éšã«å¯Ÿããç¯å²ã®ããŒãžã¯é©çšã§ããŸãã ããã©ã«ã㯠ON ã§ã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ON ãŸã㯠OFF ã«èšå®ããŸã ãã®ããã©ãŒãã³ã¹æé©åã«ãã ã³ã³ãã€ã©ãŒã¯æå° (MIN) ãŸãã¯æå€§ (MAX) éçŽåŒãåçããããã« çµæã®è¡ãŸãã¯éžæããæ°ã®è¡ã®ã¿ãèªã¿èŸŒã¿ã§ããŸã ã³ã³ãã€ã©ãŒããã®ã¿ã€ãã®æé©åãå®è¡ã§ããã®ã¯ MIN-MAX åã®è¡ãèªç¶ãªé åºã§ããå Žåã®ã¿ã§ã OFF ã®ãšã ãã®ã¿ã€ãã®æé©åã¯ç¡å¹ã§ã ããã©ã«ã㯠ON ã§ã ãã®ããã©ã«ãã®å€ã¯ ãªã¢ãŒãããŒããžã® / ããã®ã¡ãã»ãŒãžè»¢éã³ã¹ãã®èŠå ãšããŠäœ¿çšãããŸã ãã㯠ç©ççéä¿¡ãªã³ã¯ã®åž¯åå¹ ã«åæ ãããŸã ãã®å€ã¯ ããŒã«ã«ããŒããžã® / ããã®ã¡ãã»ãŒãžè»¢éã³ã¹ãã®èŠå (0.000046) ãã倧ããèšå®ããå¿ èŠããããŸã èš±å®¹å€ :1.175494351e-38~3.402823466e+038 ããã©ã«ãå€ã¯ 0.00005 ã§ã ã¢ã€ãã«ã® MXCMP ã³ã³ãã€ã©ãŒããã»ã¹ã®ã¿ã€ã ã¢ãŠãæéãç§åäœã§æå®ããŸã å€ãèšå®ããããš MXCMP ã¢ã€ãã«ã³ã³ãã€ã©ãŒããã»ã¹ãäœæãŸã§ã¢ã¯ãã£ãã§ããããã ããã³æå®ç§æ°åŸã«ããã»ã¹ãèªåçµäºããããšã確å®ããŸã ããã©ã«ãå€ã¯-1 ã§ã èš±å®¹å€ :-1 300~2147483647 ON OFF RESET ãŸã㯠SYSTEM ã«èšå®ããŸã ããã©ã«ã㯠ON ã§ã ON ã«èšå®ãããå Žå NonStop SQL/MX 㯠MultiUnion ããŒããçæããŸã OFF ã«èšå®ãããå Žå NonStop SQL/MX 㯠MultiUnion ããŒããçæããŸãã RESET ãŸã㯠SYSTEM ã«èšå®ãããå Žå ããã©ã«ãå€ããªã»ãããããŸã MultiUnion æŒç®åã®è©³çŽ°ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã 170
NJ_DEEP_NESTING_LIMIT NUMBER_OF_USERS ãã¹ãããçµåã®å åŽã§èš±å®¹ãããã¹ãã£ã³ã®åæ°ã決å®ããŸã ããã©ã«ãå€ã¯ 3 ã§ã 倧éã®ã¡ã¢ãªã䜿çšããåæã¯ãšãªãå®è¡ã§ãããŠãŒã¶ãŒã®æ°ãèšå®ããŸã ãããã®ã¯ãšãªã§ã¯ ãªããã£ãã€ã¶ãŒããã®æ°å€ã䜿çšã㊠1 人ã®ãŠãŒã¶ãŒã䜿çšã§ããã¡ã¢ãªéãå¶éããŸã æ°å€ã倧ãããªãã»ã© 倧éã®ã¡ã¢ãªã䜿çšããæŒç®å ( ããšãã°ããã·ã¥çµå ) ã䜿çšã§ããã¡ã¢ãªã¯å°ãªããªããŸã èš±å®¹å€ :1~4294967295 ããã©ã«ãèšå®ã¯ 1 ã§ å©çšã§ãããã¹ãŠã®ã¡ã¢ãªã¯ 1 ã€ã®ã¯ãšãªã«å²ãåœãŠã§ããããšãæå³ããŸã OLT_QUERY_OPT OPTIMIZATION_LEVEL OPTIMIZER_HINTS_WARNING_LEVEL OPTS_PUSH_DOWN_DAM ON ãŸã㯠OFF ã«èšå®ããŸã ON ã«èšå®ãããå Žå NonStop SQL/MX ã§ åäžããŒãã«ã®ãŠããŒã¯ SELECT ã®ãã㪠åçŽãª SQLlã¯ãšãªã«å¯Ÿãããã¡ãŒã¹ããã¹è©äŸ¡æ¹åŒãæå¹ã«ãªããŸã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ããã©ã«ã㯠ON ã§ã 0 2 3 5 ãèšå®ã㊠SQL ã¯ãšãªã®æé©åã«å¯ŸããŠå¢å ããæŽ»åã瀺ããŸã å€ã® 1 ãš 4 ã¯å°æ¥ã®äœ¿çšã«åããŠäºçŽãããŠããŸã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ããã©ã«ãå€ã¯ 3 ã§ã 0~5 ã®å€ãèšå®ããŸã ç¡èŠããããã³ãã«å¯Ÿã㊠SQL/MX ã³ã³ãã€ã©ãŒãçºè¡ããèŠåã®ã¿ã€ãã瀺ããŸã å€ã®æå³ã¯ 以äžã®ãšããã§ã 0 - èŠåã®çºè¡ãªã 1 - éè€ãããã³ãã«å¯ŸããŠèŠåãçºè¡ããŸã 2 - éè€ããã³ç«¶åãããã³ãã«å¯ŸããŠèŠåãçºè¡ããŸã 3 - éè€ ç«¶å ããã³ç¡å¹ãªãã³ãã«å¯ŸããŠèŠåãçºè¡ããŸã 4 - ä»åŸäœ¿çšããããã«äºçŽãããŠããŸã SQL/MX R3.4 ã®ã¬ãã« 5 ãšåãã§ã 5 - éè€ ç«¶å ç¡å¹ ããã³ç¡èŠããããã³ãã«å¯ŸããŠèŠåãçºè¡ããŸã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ON (1) ãŸã㯠OFF (0) ã«èšå®ããŸã ON ã«èšå®ãããå Žå ã·ã¹ãã ã¯è€åæãŸãã¯ãã¹ãããçµåã«å¯ŸããŠãã©ã³ã DAM ã«ããã·ã¥ããŠã³ããããšãèæ ®ããŸã OFF ã«èšå®ãããå Žå ã·ã¹ãã ã¯ãã®ãªãã·ã§ã³ãèæ ®ããŸãã ãã©ã³ã DAM ã«ããã·ã¥ããŠã³ããããšãå¯èœãªå Žå ( å€ã ON) ã§ã NonStop SQL/MX ã ã³ã¹ããçç±ã§ããã·ã¥ããŠã³ãéžæããªãããšããããŸã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ããã©ã«ã㯠OFF ã§ã 171
PARALLEL_NUM_ESPS PREFERRED_PROBING_ORDER_FOR_NESTED _JOIN REMOTE_ESP_ALLOCATION SORT_MAX_HEAP_SIZE_MB UNION_TRANSITIVE_PREDICATES ããŒã¯ãŒã SYSTEM ãèšå®ããã ç¹å®ã®æŒç®åçšã«äœ¿çšãã EPS ã®æå€§æ° ( 笊å·ãªãã®æ£ã®æŽæ° ) ãèšå®ããŸã SYSTEM ã«èšå®ãããå Žå NonStop SQL/MX ãå€ãèšç®ããŸã æ°å€ã«èšå®ãããå Žå æ°å€ã¯ã¯ã©ã¹ã¿ãŒå ã® CPU ã®æ°ããå°ãªãå¿ èŠããããŸã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã èš±å®¹å€ :1~2147483647 ããã©ã«ã㯠SYSTEM ( äžéãªã ) ã§ã ON ãŸã㯠OFF ã«èšå®ããŸã ON ã®ãšã ãªããã£ãã€ã¶ãŒããã©ã³ãçæã èæ ®ããŸã ãã®ãã©ã³ã§ã¯ å éšããŒãã«ã®è¡ã¯ã¢ã¯ã»ã¹ãã¹ã®ããŒé ã«èªã¿èŸŒãå¿ èŠããããŸã OFF ã®ãšã ãªããã£ãã€ã¶ãŒã¯ å éšããŒãã«ã®è¡ãã¢ã¯ã»ã¹ãã¹ã®ããŒé ã«èªã¿åºãå¿ èŠã®ãããã©ã³ãçæããŸãã ããã©ã«ã㯠OFF ã§ã ON OFF ãŸã㯠SYSTEM ã«èšå®ããŸã ON ã®ãšã NonStop SQL/MX 㯠ç¹å®ã®ã¯ãšãªã®å¯Ÿè±¡ç¯å²ã®ãã¹ãŠã®ã·ã¹ãã ã§ ESP ãèµ·åããããšã匷å¶ãããŸã ãã¹ãŠã®ã¿ãŒã²ããã·ã¹ãã ã¯ã¢ã¯ãã£ããªã·ã¹ãã ã«ãªããŸã OFF ã®ãšã NonStop SQL/MX 㯠ãã¹ãŠã® ESP ãããŒã«ã«ã·ã¹ãã äžã®ã¿ã§èµ·åãããã匷å¶ãããŸã SYSTEM ã®ãšã NonStop SQL/MX 㯠ã©ã®ã¿ãŒã²ããã·ã¹ãã ã§ ESP ãèµ·åããããæ±ºå®ããŸã ãã®å Žå ã¢ã¯ãã£ããšããŠéžæãããã·ã¹ãã 㯠ã¿ãŒã²ããã·ã¹ãã ã®ãµãã»ããã§ã SYSTEM ã®èšå®ã¯ REMOTE_ESP_ALLOCATION çšã«æšå¥šãããèšå®ã§ã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ããã©ã«ã㯠SYSTEM ã§ã ãœãŒãæŒç®åã«é¢ä¿ããæäœçšã®ããŒãã¡ã¢ãªãµã€ãºã®å²ãåœãŠã«ããã©ã«ãå€ã䜿çšããŸã æå°å€ãšæå€§å€ã¯ ãããã 0 ãš 1024 ã§ã ããã©ã«ãå€ã¯ 20 ã§ã ON OFF RESET ãŸã㯠SYSTEM ã«èšå®ããŸã ON ã«èšå®ããå Žå NonStop SQL/MX 㯠UNION ã®çµåã«å¯Ÿããéæž¡çè¿°éšãçæããŸã OFF ã«èšå®ããå Žå NonStop SQL/MX 㯠UNION ã®çµåã«å¯Ÿããéæž¡çè¿°éšãçæããŸãã ããã©ã«ã㯠ON ã§ã UPD_ORDERED ON ãŸã㯠OFF ã«èšå®ããŸã ON ã®ãšã ãªããã£ãã€ã¶ãŒã¯ãã©ã³ãçæã èæ ®ããŸã ãã®ãã©ã³ã§ã¯è¡ã®æ¿å ¥ æŽæ° åé€ã§ ã¯ã©ã¹ã¿ãªã³ã°ããŒé ã«å®è¡ããå¿ èŠããããŸã OFF ã®ãšã ãªããã£ãã€ã¶ãŒã¯ è¡ã®æ¿å ¥ æŽæ° åé€ã§ ã¯ã©ã¹ã¿ãªã³ã°ããŒé ã«å®è¡ããå¿ èŠã®ãããã©ã³ãçæããŸãã ããã©ã«ã㯠ON ã§ã 172
ZIG_ZAG_TREES ON ãŸã㯠OFF ã«èšå®ããŸã ç·åœ¢ã®ããªãŒã«å ããŠãžã°ã¶ã°ã®ããªãŒãžã®èæ ®ãæå¹å (ON) ãŸãã¯ç¡å¹å (OFF) ããŸã ãã®èšå®ã«ã€ããŠã®è¿œå æ å ±ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã ããã©ã«ã㯠OFF ã§ã æ³šèš : CHECK_CONSTRAINT_PRUNING MULTIUNION ããã³ UNION_TRANSITIVE_PREDICATES ã® CQD 㯠J06.08 以éã® J ã·ãªãŒãº RVU ããã³ H06.19 以éã® H ã·ãªãŒãº RVU ãå®è¡ããŠããã·ã¹ãã ã§ã®ã¿äœ¿çšã§ããŸã ã¯ãšãªã®æé©åã«ã€ããŠã®è©³çŽ°ã¯ SQL/MX 3.4 Query Guide ãåç §ããŠãã ãã 173