UserGuide_D_LayerAutomaticGeneration.ja - OpenTouryoProject/OpenTouryo GitHub Wiki
2016幎10æ3æ¥
- Open æ£æ¢ãçšããã¢ããªã±ãŒã·ã§ã³éçºãè¡ããSEã»éçºè
æ¬ããã¥ã¡ã³ãã¯ããã¬ãŒã ã¯ãŒã¯ã®æã€ Då±€èªåçææ©èœã®å©ç𿹿³ã«ã€ããŠçºããŠããŸãã
æ¬ããã¥ã¡ã³ãã«èšèŒã®äŒç€Ÿåã»åååã¯ãå瀟ã®åæšãŸãã¯ç»é²åæšã§ãã
æ¬ããã¥ã¡ã³ãã¯ãã¯ãªãšã€ãã£ãã»ã³ã¢ã³ãº CC BY 2.1 JP ã©ã€ã»ã³ã¹ã®äžã§å©çšå¯èœã§ãã
â» æ¬ããŒãžã®å³ã¯ããŒã«ã®ã¹ã¯ãªãŒã³ã·ã§ããã§ããäžéšã®å³ (å³4.1-1ãå³4.1-5 ãªã©) ã¯æœåºã§ãããã£ãã·ã§ã³ã®ã¿ã§ãã
1. Då±€èªåçæããŒã«ïŒå¢šå£ºïŒã®æŠèŠ
- 1.1 èªåçæãããåŠç詳现
- 1.2 èªåçæããã Daoã»SQL ãã¡ã€ã«æ§æ
- 1.3 ãµããŒããããªãåŠçã®å¯Ÿå¿
2. å®çŸ©æ å ±ã®èªåçæ
3. Daoã»SQL ãã¡ã€ã«ã®èªåçæ
5. åŠçã®ã«ã¹ã¿ãã€ãºäŸ
"Open æ£æ¢" ã® Då±€èªåçæããŒã« (墚壺) ã¯ãäžèšã®æ¹åŒã«åŸãããDB ã®ã¹ããŒãæ å ±ã®æœåºæ©èœããããããŒãã«ãã«ã©ã ãäž»ããŒæ å ± (ååŸå¯èœãªå Žå) ãååŸããŠäžéãã¡ã€ã«ãäœæãããããDå±€èªåçææ©èœãã«æž¡ããDaoã»SQL ãã¡ã€ã«ãèªåçæããŸãã
å³ 1-1ãDå±€èªåçæããŒã«ãçæã®æ¹åŒ
äœæãã Daoã»SQL ãã¡ã€ã«ã¯ãããŒãã«ã»ãã¥ãŒã«å¯ŸãããéçãªåŠç (ã¬ã³ãŒãåäœã® CRUD åŠç) ãšåçãªåŠç (ããŒã¿ ã»ããåäœã®ããŒã¿ ã¢ã¯ã»ã¹åŠç) ãå®è¡å¯èœã§ãã
å³ 1-2ãDå±€èªåçæããŒã«ãçæãããåŠç
Då±€èªåçæããŒã«ã䜿çšããã°ãå ±ééšåã€ã¡ãŒãžã§äœ¿çšã§ããããŒã¿ ã¢ã¯ã»ã¹ ã©ã€ãã©ãªãèªåçæã§ããŸããç¹ã«ãæŽæ°ç³»ã®åŠçã¯æ¬ããŒã«ã§èªåçæãã Daoã»SQL ãã¡ã€ã«ã§ãã»ãŒ 100% èªåçæã§ããŸãã
衚 1.1ãèªåçæãããåŠç詳现
| é çª | ã¯ãšãªçš®å¥ | 説æã»ç¹èšäºé | |
|---|---|---|---|
| ïŒ | INSERT | éç Insert | å šãŠã®åã®ãã«ã©ã ãªã¹ãããæ¿å ¥ãã©ã¡ã¿ããèšå®ã㊠INSERT ãããIdentityãTimeStamp ãªã©ã®ãªãŒã ã€ã³ã¯ãªã¡ã³ãåãDEFAULT å€ã®ã¿ã€ã ã¹ã¿ã³ãåã¯ãåœè©²åã®ãã«ã©ã ãªã¹ãããæ¿å ¥ãã©ã¡ã¿ããæåã§æ¶å»ãã [1]ãSEQUENCE ã® NEXTVAL 颿°ãSYSTIMESTAMP 颿°ãªã©ã䜿çšããå㯠SQL ãçŽæ¥ä¿®æ£ããã |
| INSERT | åç DynIns | èšå®ãããæ¿å ¥ãã©ã¡ã¿ãã«å¯Ÿå¿ãããæ¿å ¥åãã®ã¿åçã«æå¹ã«ã㊠INSERT ããããªãŒã ã€ã³ã¯ãªã¡ã³ãåã¯ãæ¿å ¥ãã©ã¡ã¿ããæå®ããªãã | |
| ïŒ | SELECT | éç Select | äž»ããŒåã®ãæ€çŽ¢ãã©ã¡ã¿ããèšå®ããŠå¯Ÿè±¡ã¬ã³ãŒãã SELECT ãããã¿ã€ã ã¹ã¿ã³ãåãããå Žåã¯åçãªãæ€çŽ¢ãã©ã¡ã¿ãã«è¿œå ããã |
| SELECT | åç DynSel | èšå®ãããæ€çŽ¢ãã©ã¡ã¿ãã«å¯Ÿå¿ãããæ€çŽ¢æ¡ä»¶ãã®ã¿åçã«æå¹ã«ã㊠SELECT ããã | |
| ïŒ | UPDATE | éç Update | äž»ããŒåã®ãæ€çŽ¢ãã©ã¡ã¿ããèšå®ããèšå®ãããæŽæ°ãã©ã¡ã¿ãã«å¯Ÿå¿ãããæŽæ°åãã®ã¿åçã«æå¹ã«ã㊠UPDATE ããããªãŒã ã€ã³ã¯ãªã¡ã³ãåã¯ãæŽæ°ãã©ã¡ã¿ããèšå®ããªãã |
| UPDATE | åç DynUpd | ãæ€çŽ¢æ¡ä»¶ããæŽæ°åããåçã«æå¹ã«ã㊠UPDATE ãããâ»ãæ€çŽ¢æ¡ä»¶ããåçåããæŽæ°ç³»åŠçã¯å±éº (誀æ¡ä»¶ã§å€§éããŒã¿ãç Žå£ããå¯èœæ§) ãªã®ã§æ³šæããã | |
| ïŒ | DELETE | éç Delete | äž»ããŒåã®ãæ€çŽ¢ãã©ã¡ã¿ããèšå®ããŠå¯Ÿè±¡ã¬ã³ãŒãã DELETE ããã |
| DELETE | åç DynDel | èšå®ãããæ€çŽ¢ãã©ã¡ã¿ãã«å¯Ÿå¿ãããæ€çŽ¢æ¡ä»¶ãã®ã¿åçã«æå¹ã«ã㊠DELETE ãããâ» åçåããæŽæ°ç³»åŠçã¯å±éºãªã®ã§æ³šæããã |
â â UP ããæŽæ°æã®ã¿ã€ã ã¹ã¿ã³ããæå®ããæ¹æ³ã¯æšå¥šãããªãã®ã§ãå¿ ã DBMS ã«ãããªãŒãã€ã³ã¯ãªã¡ã³ãæ¹åŒããããŒã« GUI ã«ã¿ã€ã ã¹ã¿ã³ãååãšæŽæ°æ¹æ³ãèšå®ãéçã«ãã®å€ã§æŽæ°ããæ¹åŒãæ¡çšããããšã
â» ãµããŒãããªãåŠçïŒJoin ã䜿çšããã¯ãšãªãç¹æ®ãªæ€çŽ¢æ¡ä»¶ [2] ã䜿çšããã¯ãšãªãæŽæ°ç³»åŠçã®äžã§ Select ã䜿çšãã Insertã»Update ã¯ãšãªãªã©ã â» ãŠãŒã¶ ãã©ã¡ã¿å®çŸ©ã¯èªåçæã®å¯Ÿè±¡å€ãªã®ã§ãå¿ èŠã§ããã°åºåãã SQL ãã¡ã€ã«ã«çŽæ¥å®çŸ©ããã
çæããã Daoã»SQL ãã¡ã€ã«ã¯ã次ã®ãããªæ§æã«ãªã£ãŠããŸãã
å³ 1.2ãçæããã Daoã»SQL ãã¡ã€ã«ã®æ§æ
ãã®ãããªæ§æã® Daoã»SQL ãã¡ã€ã« (倪ç·ã®ãã®) ããããŒãã«ã»ãã¥ãŒæ¯ã«çæãããŸã (1 ã€ã®ããŒãã«ã»ãã¥ãŒã«ã€ããDao ã¯ã©ã¹ ãã¡ã€ã«Ã1ãSQL ãã¡ã€ã«Ã8 ãçæããã)ã
ããŒãã«ã»ãã¥ãŒã«å¯ŸããéçãªåŠçã»åçãªåŠçã«è©²åœããªãåŠçã¯ãµããŒãããŸããã該åœããŠããå Žåããç¹æ®ãªæ€çŽ¢æ¡ä»¶ã䜿çšããã¯ãšãªãSelect ã䜿çšãã Insertã»Update ã¯ãšãªãªã©ã¯ãµããŒãããŸããããããã®å Žåã¯ãSQL ãçŽæ¥äœæããDao ã¯ã©ã¹ãå©çšããŠããŒã¿ ã¢ã¯ã»ã¹ã宿œããŸãã
å³ 1.3ãDå±€èªåçæã§ãµããŒããããªãããŒã¿ã¢ã¯ã»ã¹åŠçã«å¯Ÿå¿ããæ¹æ³
â» è€é㪠SQL ã®å Žåã§ããåç §ç³»ã§ããã°ãã¥ãŒã䜿çšããããšã§ãæ¬ããŒã«ã®èªåçæã®éçºã«ãŒãã«åœãŠèŸŒãããšãã§ããŸãã
æ¬ç« ã§ã¯ãDå±€å®çŸ©æ å ±ã®èªåçææ¹æ³ã«ã€ããŠèª¬æããŸãã
-
[Då±€å®çŸ©æ å ±ãã¡ã€ã«çæ] ããŒã«ãèµ·åïŒDå±€èªåçæããŒã«ã® EXE (DaoGen_Tool.exe) ãèµ·åãããšã[Då±€å®çŸ©æ å ±ãã¡ã€ã«çæ] ç»é¢ã衚瀺ãããŸãã
å³ 2-1ã[Då±€ãDaoã»SQL ãã¡ã€ã«çæ] ç»é¢ãèµ·å
-
ããŒã¿ ãããã€ããéžæããæ¥ç¶æååãå ¥åãã³ã³ã ããã¯ã¹å€ãéžæã [ã¹ããŒãæ å ±ååŸ] ãã¿ã³ãæŒããšãããŒã¿ ãããã€ãã® GetSchema ã¡ãœããã§ååŸã§ããã¹ããŒãæ å ±ãåç §ã§ããŸã (æ¥ç¶æååãæ£ãããªãå Žåã¯åç §ã§ããŸãã)ã
å³ 2-2ãããŒã¿ ãããã€ããéžæããæ¥ç¶æååãå ¥åãã¹ããŒãæ å ±ååŸããã¹ããã
-
[DB ã«æ¥ç¶ãããŒãã«ãäžèЧãã] ãã¿ã³ãæŒãïŒæé 3 ã§æ£ããæ¥ç¶ã§ããŠããããšã確èªããåŸããã®ãã¿ã³ãæŒããšãããŒãã«ã»ãã¥ãŒæ å ±ãååŸã»äžèЧã§ããŸãã
å³ 2-4ãããŒãã«ã»ãã¥ãŒãäžèЧãã
-
äžèŠãªããŒãã«ãåé€ïŒãªã¹ã ããã¯ã¹äžã®åé€ãããããŒãã«ã»ãã¥ãŒãéžæããç¶æ ã§ã[éžæããããŒãã«ãåé€] ãã¿ã³ãæŒããŸãã
å³ 2-5ãäžèŠãªããŒãã«ã»ãã¥ãŒãåé€
-
åæ å ±ã®ããŒãïŒ[åæ å ±ã®ããŒã] ãã¿ã³ãæŒäžããŠããªã¹ã ããã¯ã¹äžã®ããŒãã«ã»ãã¥ãŒã®åæ å ±ãããŒãããŸãã
å³ 2-6ãåæ å ±ã®ããŒã
-
äž»ããŒïŒãŸãã¯ãäž»ããŒçžåœïŒæ å ±ã®èšå®ïŒããŒãã«ã»ãã¥ãŒãéžæããç¶æ ã§ [éžæããããŒãã«ã®äž»ããŒãèšå®] ãã¿ã³ãæŒäžã衚瀺ããããã€ã¢ãã°ã§äž»ããŒåã«ãã§ãã¯ãå ¥ããŸã (SQL ServerãOracle ã§ã¯äž»ããŒæ å ±ã¯èªåçã«èšå®ãããŸã)ã
å³ 2-7-1ãäž»ããŒæ å ±ã®èšå®
è€æ°ããŒãã«ãéžæããŠããå Žåã¯ããã€ã¢ãã°ãéããåŸã«æ¬¡ã®ãã€ã¢ãã°ã衚瀺ãããŸã (ç¶è¡ã¯ [OK]ãäžæ¢ã¯ [ãã£ã³ã»ã«])ã
å³ 2-7-2ãäž»ããŒæ å ±ã®èšå®
-
Då±€å®çŸ©æ å ±ãçæïŒ[åºåãšã³ã³ãŒãã£ã³ã°ãéžæãã] ã°ã«ãŒãããã¯ã¹ãã [Shift-JIS] ã [UTF-8] ãéžæãã[Då±€å®çŸ©æ å ±ãçæãã] ãã¿ã³ãæŒäžããŠãDå±€å®çŸ©æ å ±ãã¡ã€ã«ãæå®ã®äœçœ®ã«åºåããŸãã
å³ 2-8ãDå±€å®çŸ©æ å ±ãçæ
-
Då±€å®çŸ©æ å ±ã®ç¢ºèª ïœ ç·šéïŒåºåãã Då±€å®çŸ©æ å ±ã¯ CSV 圢åŒãªã®ã§ãExcel ãªã©ã§å®¹æã«ç·šéã§ããŸãã[ããŒãã«å] åã«ããŒãã«ã»ãã¥ãŒåããã®è¡ã® [ã«ã©ã æ å ±] åã¯äž»ã㌠(çžåœ) ã®ã«ã©ã æ å ±ããã®äžã®è¡ã® [ã«ã©ã æ å ±] åã¯äž»ããŒä»¥å€ã®ã«ã©ã æ å ±ã§ãã
å³ 2-9ãDå±€å®çŸ©æ å ±ã®ç¢ºèª ïœ ç·šé
æ¬ç« ã§ã¯ãDaoã»SQL ãã¡ã€ã«ã®èªåçææ¹æ³ã«ã€ããŠèª¬æããŸãã
-
[Då±€ãDaoã»SQL ãã¡ã€ã«çæ] ããŒã«ãèµ·åïŒDaoGen_Tool.exe ãèµ·åãã[Då±€å®çŸ©æ å ±ãã¡ã€ã«çæ] ç»é¢ã§ [Daoã»SQL ãã¡ã€ã«ãçæãã] ãã¿ã³ãæŒäžãããšã[Då±€ãDaoã»SQL ãã¡ã€ã«çæ] ç»é¢ã衚瀺ãããŸãã
å³ 3-1ã[Då±€ãDaoã»SQL ãã¡ã€ã«çæ] ç»é¢ãèµ·å
-
äžé£ã®çæãªãã·ã§ã³ãèšå®ïŒããŒã¿ ãããã€ããèšèªãå ¥åæ å ± (ãã³ãã¬ãŒãããšã³ã³ãŒãã£ã³ã°)ãåºåæ å ± (åºåå ããšã³ã³ãŒãã£ã³ã°ã䜿çšè å) ãªã©ãæå®ããŸãã
å³ 3-2ãäžé£ã®çæãªãã·ã§ã³ãèšå®
- â» Då±€å®çŸ©æ å ±äžã« [ããŒãã«å, ã«ã©ã æ å ±ïœ] ã®ããããå ¥ã£ãŠããå Žåã[ãããããã®å ŽåïŒ1 è¡ç®ãç¡èŠããïŒ] ãã§ã㯠ããã¯ã¹ãæå¹ã«ããã
- â» ã¿ã€ã ã¹ã¿ã³ãååã¯å šããŒãã«ã§æšæºåãããŠããå¿ èŠãããããªãŒãã€ã³ã¯ãªã¡ã³ãåã§ãªãå Žåã¯ãæŽæ°æ¹æ³ããèšå®ãããUpdateã»Delete ã®æ€çŽ¢æ¡ä»¶ã«ã¿ã€ã ã¹ã¿ã³ããå¿ é ã«ããå Žå㯠[ã¿ã€ã ã¹ã¿ã³ãå¿ é ] ããªã³ã«ããã
-
Daoã»SQL ãã¡ã€ã«ãçæïŒèšå®å®äºåŸã[Daoã»SQL ãã¡ã€ã«ãçæãã] ãã¿ã³ãæŒäžãããšãDå±€çæãå®äºããŸãã
å³ 3-3ãDaoã»SQL ãã¡ã€ã«ãçæ
-
Daoã»SQL ãã¡ã€ã«ã®ç¢ºèªïŒæå®ã®åºåå ã« Daoã»SQL ãã¡ã€ã«ãçæãããŠããããšã確èªããŸã (å©ç𿹿³ã¯ãµã³ãã« ããã°ã©ã [4] ãåèã«ãããšãããæãã§ã)ã
æ¬ç« ã§ã¯ãDaoã»SQL ãã¡ã€ã«ãçæããããã«å¿
èŠãªãã³ãã¬ãŒãã説æããŸãããã³ãã¬ãŒãã¯ãåºæ¬çã«ã¯ ïœ\root\files\DGenTemplates ã®äœçœ®ã«ãããã®ããã®ãŸãŸäœ¿çšããŸããããããžã§ã¯ãã«ãã£ãŠã¯ã«ã¹ã¿ãã€ãºãå¿
èŠã§ãã
Dao ãã³ãã¬ãŒã (DaoTemplate.cs) ã®ã«ã¹ã¿ãã€ãºã®ãã€ã³ãã¯ä»¥äžã§ãã
-
ã³ã¡ã³ã ãããïŒãããžã§ã¯ãã®æ¹éã«åãããŠä¿®æ£ãããã¯ã©ã¹å (
_DaoClassName_)ãäœææ¥æ (_TimeStamp_)ãäœæè (_UserName_) ã«ã¯èªåçææã«å€ãåã蟌ãŸããã
//**********************************************************************************
//* ã¯ã©ã¹å ïŒ_DaoClassName_
//* ã¯ã©ã¹æ¥æ¬èªå ïŒèªåçæïŒ€ïœïœã¯ã©ã¹
//*
//* äœææ¥æ ïŒ_TimeStamp_
//* äœæè
ïŒæ£æ¢ Då±€èªåçæããŒã«ïŒå¢šå£ºïŒ, _UserName_
//* æŽæ°å±¥æŽ ïŒ
//*
//* æ¥æ æŽæ°è
å
容
//* ---------- ---------------- -------------------------------------------------
//* 20xx/xx/xx   
//**********************************************************************************- UsingïŒImportïŒå¥ïŒDao å ã§äœ¿çšããã¢ãžã¥ãŒã«ã® Using å¥ã远å ã»ä¿®æ£ãããç¹ã«åå空éã® Touryo ã®éšåã¯ãããžã§ã¯ãã®åå空éã«ä¿®æ£ããã
#region using
// Systemïœ
using System;
using System.IO;
using System.Data;
using System.Collections;
// ãã¬ãŒã ã¯ãŒã¯
using Touryo.Infrastructure.Framework.Dao;
using Touryo.Infrastructure.Framework.Common;
// éšå
using Touryo.Infrastructure.Public.Db;
using Touryo.Infrastructure.Public.Util;
// æ¥åãã¬ãŒã ã¯ãŒã¯
using Touryo.Infrastructure.Business.Dao;
#endregion-
ãããŒã¿ã¢ã¯ã»ã¹èŠªã¯ã©ã¹ïŒãåã®å€æŽïŒç¶æ¿ãããããŒã¿ã¢ã¯ã»ã¹èŠªã¯ã©ã¹ïŒãã®ååããããžã§ã¯ãçšã«ä¿®æ£ãã (ããã©ã«ãã¯
MyBaseDao)ã
#endregion
/// <summary>èªåçæïŒ€ïœïœã¯ã©ã¹</summary>
public class _DaoClassName_ : MyBaseDao
{
#region ã€ã³ã¹ã¿ã³ã¹å€æ°-
äž»ããŒçšãããã㣠ããã·ãŒãžã£ã®ãã¬ãã£ãã¯ã¹ïŒããã©ã«ãã¯
PK_ãïŒå³4.1-4ïŒ- äž»ããŒçšïŒ
PK_ã«ã©ã åãäž»ããŒä»¥å€ïŒã«ã©ã åãæŽæ°åŠççšïŒããã_ã«ã©ã å_ããã¿
- äž»ããŒçšïŒ
#region ãããã㣠ããã·ãŒãžã£ïŒsetterãgetterïŒ
// ControlComment:RoopStart-PPPK
/// <summary>_ColumnName_åïŒäž»ããŒåïŒã«å¯Ÿãããã©ã¡ã¿ ã©ã€ãºã ã¯ãšãªã®ãã©ã¡ã¿ãèšå®ããã</summary>
/// <remarks>æŽæ°åŠçæã®SETå¥ã§äœ¿çšãããã©ã¡ã¿ãé€ã</remarks>
public object PK__ColumnName_
{
set
{
this.HtParameter["_ColumnName_"] = value;
}
get
{
return this.HtParameter["_ColumnName_"];
}
}
// ControlComment:RoopEnd-PPPK-
åç
§ç³»åŠçã®ã¡ãœããïŒããã©ã«ãã¯
ExecSelectFill_DT()ã䜿çšããã€ã³ã¿ãŒãã§ã€ã¹ãå¿ èŠã§ããã°ExecSelectFill_DS()ãExecSelect_DR()ã䜿çšããã€ã³ã¿ãŒãã§ã€ã¹ã远å ãããïŒå³4.1-5ïŒ
#region Select
/// <summary>äž»ããŒãæå®ããïŒã¬ã³ãŒãåç
§ããã</summary>
/// <param name="dt">çµæãæ ŒçŽããDataTable</param>
public void _SelectMethodName_(DataTable dt)
{
// ãã¡ã€ã«ããSQLïŒSelectïŒãèšå®ããã
this.SetSqlByFile2("_SelectFileName_");
// ãã©ã¡ã¿ã®èšå®
this.SetParametersFromHt();
// SQLïŒSelectïŒãå®è¡ããæ»ãå€ãæ»ãã
this.ExecSelectFill_DT(dt);
}
/// <summary>æ€çŽ¢æ¡ä»¶ãæå®ããçµæã»ãããåç
§ããã</summary>
/// <param name="dt">çµæãæ ŒçŽããDataTable</param>
public void _DynSelMethodName_(DataTable dt)
{
// ãã¡ã€ã«ããSQLïŒDynSelïŒãèšå®ããã
this.SetSqlByFile2("_DynSelFileName_");
// ãã©ã¡ã¿ã®èšå®
this.SetParametersFromHt();
// SQLïŒDynSelïŒãå®è¡ããæ»ãå€ãæ»ãã
this.ExecSelectFill_DT(dt);
}
#endregionSQL ãã³ãã¬ãŒãã®ã«ã¹ã¿ãã€ãºã®ãã€ã³ãã¯ãåºæ¬çã«ãããéšåã®ã¿ã§ã (ïœ\root\files\DGenTemplates\ 以äžã® .sqlã.xml ãã¡ã€ã«)ããã¡ã€ã«å (_FileName_)ãäœææ¥æ (_TimeStamp_)ãäœæè
(_UserName_) ã«ã¯èªåçææã«å€ãåã蟌ãŸããŸãã
å³ 4.2-1ãSQL ã®ãã³ãã¬ãŒãã®ã³ã¡ã³ã ããã
ã³ã¡ã³ã ãããã¯ãSQL ãã¬ãŒã¹åºåã念é ã«ãããŠäœæãããšè¯ãã§ãããã
å³ 4.2-2ãSQL ãã¬ãŒã¹ ãã¡ã€ã«ã«åºåãããã³ã¡ã³ã ãããæ å ±
æ¬ç« ã§ã¯ãçæããã Daoã»SQL ãã¡ã€ã«ã®ã«ã¹ã¿ãã€ãºã®ãã€ã³ãã瀺ããŸãã
ããã©ã«ãå€ãæå®ããåãIdentity (ãªãŒã ã€ã³ã¯ãªã¡ã³ã) åãSEQUENCE ã® NEXTVAL 颿°ãªã©ã䜿çšããŠããŒã¿ãæ¿å ¥ããåãããå Žåã¯ãSQL ãçŽæ¥ä¿®æ£ããŸãã
å³ 5.1ãInsert åŠçã® SQL ãã¡ã€ã«ã®äŸ
ããã©ã«ãå€ãæå®ããåãIdentity åã« Insert ããå ŽåãInsert æã«å€ãèšå®ããªãã®ã§ããã®åã SQL ããåé€ããŸãã
å³ 5.1.1ãããã©ã«ãå€ã§ Insert ããå Žå
SEQUENCE ã® NEXTVAL 颿°ãªã©ã䜿çšããŠããŒã¿ãæ¿å ¥ããåãããå Žåã¯ãInsert æã«é¢æ°ã䜿çšããŠå€ãèšå®ããããã« SQL ãä¿®æ£ããŸãã
â» Oracle ã§ã¯ãBEFORE INSERT ããªã¬ãUPDATE ããªã¬ã䜿çšããŠãIdentity (ãªãŒã ã€ã³ã¯ãªã¡ã³ã) åãTimeStamp å (ãªãŒã ã€ã³ã¯ãªã¡ã³ã) åã«çžåœãããã®ãèªäœå¯èœã§ã [5]ã
å³ 5.1.2ã颿°ã䜿çšã㊠Insert ããå Žå
- IdentityãTimeStamp ãªã©ã®ãªãŒã ã€ã³ã¯ãªã¡ã³ãåãDEFAULT å€ãèšå®ããã¿ã€ã ã¹ã¿ã³ãåã®å Žåã
- BetweenãLikeãè€éãªæ¡ä»¶åŒãªã©ã
- Joinãç¹æ®ãªæ€çŽ¢æ¡ä»¶ãSelect ã䜿çšãã Insertã»Update ã¯ãšãªãªã©ã
- ãµã³ãã« ããã°ã©ã ã® Daoã»SQL ãã¡ã€ã«ã®å©çšç®æãåèã«ããã
- Oracle ã® BEFORE INSERTïŒUPDATE ããªã¬ã«ãã代æ¿å®è£ ã
ïŒä»¥äžïŒ