home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 July / Chip_2000-07_cd.bin / tema / Kunz / _SETUP.2 / Group2 / casestud.ts2 next >
Encoding:
Text File  |  2000-05-25  |  245.7 KB  |  8,948 lines

  1. <SERVERS>
  2. <SERVER>
  3. <NAME>Paradox</NAME>
  4. <ID>1</ID>
  5. <GUID>{B200E8F2-3255-11D4-8604-00C026D00180}</GUID>
  6. <TEMPLATES>
  7. <TEMPLATE>
  8. <NAME>CREATEDATABASE</NAME>
  9. <ID>56</ID>
  10. <GUID>{B200E900-3255-11D4-8604-00C026D00180}</GUID>
  11. <ENABLED>1</ENABLED>
  12. <LEVEL>0</LEVEL>
  13. <IDPARENT>0</IDPARENT>
  14. <VALUE><![CDATA[/*
  15. Created        %createddate%
  16. Modified        %modifieddate%
  17. Project        %projectname%
  18. Model        %modelname%
  19. Company        %company%
  20. Author        %authorname%
  21. Version        %version%
  22. Database        %databasetype%
  23. */
  24. {lBeforeScript}
  25. %beforescript%
  26. @SetFlag(1,true)
  27. {lTableGener}
  28. @showmessage("Create tables")
  29. @template(createtables)
  30. {lIndexGener}
  31. @showmessage("Create indexes")
  32. @template(createindexs)
  33. {lTriggersGener}
  34. @template(createtriggers)
  35. {lAfterScript}
  36. %afterscript%
  37. {true}
  38.  @template(UserTempl)
  39. ]]></VALUE>
  40. <LANGUAGE>0</LANGUAGE>
  41. <CATEGORY>0</CATEGORY>
  42. </TEMPLATE>
  43. <TEMPLATE>
  44. <NAME>CREATETABLES</NAME>
  45. <ID>57</ID>
  46. <GUID>{B200E901-3255-11D4-8604-00C026D00180}</GUID>
  47. <ENABLED>1</ENABLED>
  48. <LEVEL>0</LEVEL>
  49. <IDPARENT>0</IDPARENT>
  50. <VALUE><![CDATA[@fortable("", "", macro(createtable), "", "" )
  51. ]]></VALUE>
  52. <LANGUAGE>0</LANGUAGE>
  53. <CATEGORY>0</CATEGORY>
  54. </TEMPLATE>
  55. <TEMPLATE>
  56. <NAME>CREATETABLE</NAME>
  57. <ID>58</ID>
  58. <GUID>{B200E902-3255-11D4-8604-00C026D00180}</GUID>
  59. <ENABLED>1</ENABLED>
  60. <LEVEL>0</LEVEL>
  61. <IDPARENT>0</IDPARENT>
  62. <VALUE><![CDATA[cr+if(ldroptablegener,"Drop table '%TableStorage%%tablename%.db';","")+cr+
  63. "Create table '%TableStorage%%tablename%.db' ("+
  64. forcol("", "", cr+tb+"%ColName% %typsql% "+
  65. if(defexist," %defvalue%", "")+
  66. if(def2exist," %def2value%", "") , ",", "")+
  67. if(existpk and lPkGener, ","+cr+"Primary Key ("+forpkcol("", "", ColName, ",", ")"+cr) , cr )+
  68. ");"+cr+showmessage("Create table %tablename%")
  69. ]]></VALUE>
  70. <LANGUAGE>0</LANGUAGE>
  71. <CATEGORY>0</CATEGORY>
  72. </TEMPLATE>
  73. <TEMPLATE>
  74. <NAME>CREATEINDEXS</NAME>
  75. <ID>59</ID>
  76. <GUID>{B200E903-3255-11D4-8604-00C026D00180}</GUID>
  77. <ENABLED>1</ENABLED>
  78. <LEVEL>0</LEVEL>
  79. <IDPARENT>0</IDPARENT>
  80. <VALUE><![CDATA[{lindexexist}
  81. @fortable("","",macro(createindex),"","")
  82. ]]></VALUE>
  83. <LANGUAGE>0</LANGUAGE>
  84. <CATEGORY>0</CATEGORY>
  85. </TEMPLATE>
  86. <TEMPLATE>
  87. <NAME>CREATEINDEX</NAME>
  88. <ID>60</ID>
  89. <GUID>{B200E904-3255-11D4-8604-00C026D00180}</GUID>
  90. <ENABLED>1</ENABLED>
  91. <LEVEL>0</LEVEL>
  92. <IDPARENT>0</IDPARENT>
  93. <VALUE><![CDATA[forindex("","" ,"Create "+if(unique,"UNIQUE ","")+if(desc,"DESCENDING ","")
  94. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname,",",")")
  95. +showmessage("Create index %indexname% for table %tablename%")+";%cr%" ,"",cr+cr)
  96. ]]></VALUE>
  97. <LANGUAGE>0</LANGUAGE>
  98. <CATEGORY>0</CATEGORY>
  99. </TEMPLATE>
  100. <TEMPLATE>
  101. <NAME>CREATETRIGGERS</NAME>
  102. <ID>63</ID>
  103. <GUID>{B200E905-3255-11D4-8604-00C026D00180}</GUID>
  104. <ENABLED>1</ENABLED>
  105. <LEVEL>0</LEVEL>
  106. <IDPARENT>0</IDPARENT>
  107. <VALUE><![CDATA[@fortable("", "", usertrigger, "", "" )
  108. ]]></VALUE>
  109. <LANGUAGE>0</LANGUAGE>
  110. <CATEGORY>0</CATEGORY>
  111. </TEMPLATE>
  112. </TEMPLATES>
  113. <VARIABLES><![CDATA[lDriParUpdRestrict 0
  114. lDriParUpdCascade 0
  115. lDriParUpdSetNull 0
  116. lDriParUpdSetDefault 0
  117. lDriParDelRestrict 0
  118. lDriParDelCascade 0
  119. lDriParDelSetNull 0
  120. lDriParDelSetDefault 0
  121. lDriChildInsRestrict 0
  122. lDriChildUpdRestrict 0
  123. lDriParUpdRestrictSupp 0
  124. lDriParUpdCascadeSupp 0
  125. lDriParUpdSetNullSupp 0
  126. lDriParUpdSetDefaultSupp 0
  127. lDriParDelRestrictSupp 0
  128. lDriParDelCascadeSupp 0
  129. lDriParDelSetNullSupp 0
  130. lDriParDelSetDefaultSupp 0
  131. lDriChildInsRestrictSupp 0
  132. lDriChildUpdRestrictSupp 0
  133. lIndexDescendSupp 1
  134. lIndexItDescendSupp 0
  135. lIndexUpperSupp 0
  136. lIndexExprSupp 0
  137. lIndexUniqueSupp 1
  138. lIndexFilterSupp 0
  139. lIndexStandSupp 1
  140. lIndexClusterSupp 0
  141. lIndexNameUnique 0
  142. lPkSupp 1
  143. lPkNotNull 0
  144. lDRISupp 0
  145. lTriggerSupp 0
  146. lAtrUniqueSupp 0
  147. lAtrNotNullSupp 1
  148. lAtrCheckSupp 0
  149. lAtrDefaultSupp 0
  150. ]]></VARIABLES>
  151. <USEREDITS>
  152. </USEREDITS>
  153. <TYPELIST>
  154. <TYPE>
  155. <NAME>Character</NAME>
  156. <ID>1</ID>
  157. <GUID>{B200E8F3-3255-11D4-8604-00C026D00180}</GUID>
  158. <PHNAME>Char</PHNAME>
  159. <LLENGTH>1</LLENGTH>
  160. <LDECIMAL>0</LDECIMAL>
  161. <MAXLENGTH>255</MAXLENGTH>
  162. <MINLENGTH>1</MINLENGTH>
  163. <MAXDECIMAL>0</MAXDECIMAL>
  164. <MINDECIMAL>0</MINDECIMAL>
  165. <DEFAULTLENGTH>15</DEFAULTLENGTH>
  166. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  167. <TRANSFORMCODE>A</TRANSFORMCODE>
  168. <TRANSFORMTO>LA;</TRANSFORMTO>
  169. <EXPORTTO>0</EXPORTTO>
  170. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  171. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  172. <ODBCTYPE>1</ODBCTYPE>
  173. <BDETYPE>0</BDETYPE>
  174. </TYPE>
  175. <TYPE>
  176. <NAME>Integer</NAME>
  177. <ID>2</ID>
  178. <GUID>{B200E8F4-3255-11D4-8604-00C026D00180}</GUID>
  179. <PHNAME>Integer</PHNAME>
  180. <LLENGTH>0</LLENGTH>
  181. <LDECIMAL>0</LDECIMAL>
  182. <MAXLENGTH>0</MAXLENGTH>
  183. <MINLENGTH>0</MINLENGTH>
  184. <MAXDECIMAL>0</MAXDECIMAL>
  185. <MINDECIMAL>0</MINDECIMAL>
  186. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  187. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  188. <TRANSFORMCODE>I</TRANSFORMCODE>
  189. <TRANSFORMTO>LI;</TRANSFORMTO>
  190. <EXPORTTO>0</EXPORTTO>
  191. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  192. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  193. <ODBCTYPE>4</ODBCTYPE>
  194. <BDETYPE>0</BDETYPE>
  195. </TYPE>
  196. <TYPE>
  197. <NAME>Decimal</NAME>
  198. <ID>3</ID>
  199. <GUID>{B200E8F5-3255-11D4-8604-00C026D00180}</GUID>
  200. <PHNAME>Decimal</PHNAME>
  201. <LLENGTH>1</LLENGTH>
  202. <LDECIMAL>0</LDECIMAL>
  203. <MAXLENGTH>10</MAXLENGTH>
  204. <MINLENGTH>1</MINLENGTH>
  205. <MAXDECIMAL>0</MAXDECIMAL>
  206. <MINDECIMAL>0</MINDECIMAL>
  207. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  208. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  209. <TRANSFORMCODE>DC</TRANSFORMCODE>
  210. <TRANSFORMTO>N;</TRANSFORMTO>
  211. <EXPORTTO>0</EXPORTTO>
  212. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  213. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  214. <ODBCTYPE>3</ODBCTYPE>
  215. <BDETYPE>0</BDETYPE>
  216. </TYPE>
  217. <TYPE>
  218. <NAME>Numeric</NAME>
  219. <ID>4</ID>
  220. <GUID>{B200E8F6-3255-11D4-8604-00C026D00180}</GUID>
  221. <PHNAME>Numeric</PHNAME>
  222. <LLENGTH>0</LLENGTH>
  223. <LDECIMAL>0</LDECIMAL>
  224. <MAXLENGTH>0</MAXLENGTH>
  225. <MINLENGTH>0</MINLENGTH>
  226. <MAXDECIMAL>0</MAXDECIMAL>
  227. <MINDECIMAL>0</MINDECIMAL>
  228. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  229. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  230. <TRANSFORMCODE>N</TRANSFORMCODE>
  231. <TRANSFORMTO>DC;</TRANSFORMTO>
  232. <EXPORTTO>0</EXPORTTO>
  233. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  234. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  235. <ODBCTYPE>2</ODBCTYPE>
  236. <BDETYPE>0</BDETYPE>
  237. </TYPE>
  238. <TYPE>
  239. <NAME>Date</NAME>
  240. <ID>5</ID>
  241. <GUID>{B200E8F7-3255-11D4-8604-00C026D00180}</GUID>
  242. <PHNAME>Date</PHNAME>
  243. <LLENGTH>0</LLENGTH>
  244. <LDECIMAL>0</LDECIMAL>
  245. <MAXLENGTH>0</MAXLENGTH>
  246. <MINLENGTH>0</MINLENGTH>
  247. <MAXDECIMAL>0</MAXDECIMAL>
  248. <MINDECIMAL>0</MINDECIMAL>
  249. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  250. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  251. <TRANSFORMCODE>D</TRANSFORMCODE>
  252. <TRANSFORMTO>DT;</TRANSFORMTO>
  253. <EXPORTTO>0</EXPORTTO>
  254. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  255. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  256. <ODBCTYPE>91</ODBCTYPE>
  257. <BDETYPE>0</BDETYPE>
  258. </TYPE>
  259. <TYPE>
  260. <NAME>Time</NAME>
  261. <ID>6</ID>
  262. <GUID>{B200E8F8-3255-11D4-8604-00C026D00180}</GUID>
  263. <PHNAME>Time</PHNAME>
  264. <LLENGTH>0</LLENGTH>
  265. <LDECIMAL>0</LDECIMAL>
  266. <MAXLENGTH>0</MAXLENGTH>
  267. <MINLENGTH>0</MINLENGTH>
  268. <MAXDECIMAL>0</MAXDECIMAL>
  269. <MINDECIMAL>0</MINDECIMAL>
  270. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  271. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  272. <TRANSFORMCODE>T</TRANSFORMCODE>
  273. <TRANSFORMTO>DT;</TRANSFORMTO>
  274. <EXPORTTO>0</EXPORTTO>
  275. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  276. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  277. <ODBCTYPE>92</ODBCTYPE>
  278. <BDETYPE>0</BDETYPE>
  279. </TYPE>
  280. <TYPE>
  281. <NAME>Timestamp</NAME>
  282. <ID>7</ID>
  283. <GUID>{B200E8F9-3255-11D4-8604-00C026D00180}</GUID>
  284. <PHNAME>Timestamp</PHNAME>
  285. <LLENGTH>0</LLENGTH>
  286. <LDECIMAL>0</LDECIMAL>
  287. <MAXLENGTH>0</MAXLENGTH>
  288. <MINLENGTH>0</MINLENGTH>
  289. <MAXDECIMAL>0</MAXDECIMAL>
  290. <MINDECIMAL>0</MINDECIMAL>
  291. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  292. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  293. <TRANSFORMCODE>TS</TRANSFORMCODE>
  294. <TRANSFORMTO>T;DT;</TRANSFORMTO>
  295. <EXPORTTO>0</EXPORTTO>
  296. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  297. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  298. <ODBCTYPE>93</ODBCTYPE>
  299. <BDETYPE>0</BDETYPE>
  300. </TYPE>
  301. <TYPE>
  302. <NAME>Money</NAME>
  303. <ID>8</ID>
  304. <GUID>{B200E8FA-3255-11D4-8604-00C026D00180}</GUID>
  305. <PHNAME>Money</PHNAME>
  306. <LLENGTH>0</LLENGTH>
  307. <LDECIMAL>0</LDECIMAL>
  308. <MAXLENGTH>0</MAXLENGTH>
  309. <MINLENGTH>0</MINLENGTH>
  310. <MAXDECIMAL>0</MAXDECIMAL>
  311. <MINDECIMAL>0</MINDECIMAL>
  312. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  313. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  314. <TRANSFORMCODE>MN</TRANSFORMCODE>
  315. <TRANSFORMTO>N,15,2;</TRANSFORMTO>
  316. <EXPORTTO>0</EXPORTTO>
  317. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  318. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  319. <ODBCTYPE>6</ODBCTYPE>
  320. <BDETYPE>0</BDETYPE>
  321. </TYPE>
  322. <TYPE>
  323. <NAME>Autoinc</NAME>
  324. <ID>9</ID>
  325. <GUID>{B200E8FB-3255-11D4-8604-00C026D00180}</GUID>
  326. <PHNAME>Autoinc</PHNAME>
  327. <LLENGTH>0</LLENGTH>
  328. <LDECIMAL>0</LDECIMAL>
  329. <MAXLENGTH>0</MAXLENGTH>
  330. <MINLENGTH>0</MINLENGTH>
  331. <MAXDECIMAL>0</MAXDECIMAL>
  332. <MINDECIMAL>0</MINDECIMAL>
  333. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  334. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  335. <TRANSFORMCODE>NO</TRANSFORMCODE>
  336. <TRANSFORMTO>LI;I;N,10,0;</TRANSFORMTO>
  337. <EXPORTTO>2</EXPORTTO>
  338. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  339. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  340. <ODBCTYPE>4</ODBCTYPE>
  341. <BDETYPE>0</BDETYPE>
  342. </TYPE>
  343. <TYPE>
  344. <NAME>Blob</NAME>
  345. <ID>10</ID>
  346. <GUID>{B200E8FC-3255-11D4-8604-00C026D00180}</GUID>
  347. <PHNAME>Blob</PHNAME>
  348. <LLENGTH>1</LLENGTH>
  349. <LDECIMAL>1</LDECIMAL>
  350. <MAXLENGTH>240</MAXLENGTH>
  351. <MINLENGTH>1</MINLENGTH>
  352. <MAXDECIMAL>5</MAXDECIMAL>
  353. <MINDECIMAL>1</MINDECIMAL>
  354. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  355. <DEFAULTDECIMAL>1</DEFAULTDECIMAL>
  356. <TRANSFORMCODE>BLOB</TRANSFORMCODE>
  357. <TRANSFORMTO>BIN;</TRANSFORMTO>
  358. <EXPORTTO>0</EXPORTTO>
  359. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  360. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  361. <ODBCTYPE>-4</ODBCTYPE>
  362. <BDETYPE>0</BDETYPE>
  363. </TYPE>
  364. <TYPE>
  365. <NAME>Boolean</NAME>
  366. <ID>11</ID>
  367. <GUID>{B200E8FD-3255-11D4-8604-00C026D00180}</GUID>
  368. <PHNAME>Boolean</PHNAME>
  369. <LLENGTH>0</LLENGTH>
  370. <LDECIMAL>0</LDECIMAL>
  371. <MAXLENGTH>0</MAXLENGTH>
  372. <MINLENGTH>0</MINLENGTH>
  373. <MAXDECIMAL>0</MAXDECIMAL>
  374. <MINDECIMAL>0</MINDECIMAL>
  375. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  376. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  377. <TRANSFORMCODE>BL</TRANSFORMCODE>
  378. <TRANSFORMTO>A,1,0</TRANSFORMTO>
  379. <EXPORTTO>0</EXPORTTO>
  380. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  381. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  382. <ODBCTYPE>1</ODBCTYPE>
  383. <BDETYPE>0</BDETYPE>
  384. </TYPE>
  385. <TYPE>
  386. <NAME>Smallint</NAME>
  387. <ID>20</ID>
  388. <GUID>{B200E8FE-3255-11D4-8604-00C026D00180}</GUID>
  389. <PHNAME>Smallint</PHNAME>
  390. <LLENGTH>0</LLENGTH>
  391. <LDECIMAL>0</LDECIMAL>
  392. <MAXLENGTH>0</MAXLENGTH>
  393. <MINLENGTH>0</MINLENGTH>
  394. <MAXDECIMAL>0</MAXDECIMAL>
  395. <MINDECIMAL>0</MINDECIMAL>
  396. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  397. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  398. <TRANSFORMCODE>SI</TRANSFORMCODE>
  399. <TRANSFORMTO>I;LI;</TRANSFORMTO>
  400. <EXPORTTO>0</EXPORTTO>
  401. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  402. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  403. <ODBCTYPE>0</ODBCTYPE>
  404. <BDETYPE>0</BDETYPE>
  405. </TYPE>
  406. <TYPE>
  407. <NAME>Empty</NAME>
  408. <ID>200</ID>
  409. <GUID>{B200E8FF-3255-11D4-8604-00C026D00180}</GUID>
  410. <PHNAME></PHNAME>
  411. <LLENGTH>0</LLENGTH>
  412. <LDECIMAL>0</LDECIMAL>
  413. <MAXLENGTH>0</MAXLENGTH>
  414. <MINLENGTH>0</MINLENGTH>
  415. <MAXDECIMAL>0</MAXDECIMAL>
  416. <MINDECIMAL>0</MINDECIMAL>
  417. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  418. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  419. <TRANSFORMCODE></TRANSFORMCODE>
  420. <TRANSFORMTO></TRANSFORMTO>
  421. <EXPORTTO>0</EXPORTTO>
  422. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  423. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  424. <ODBCTYPE>0</ODBCTYPE>
  425. <BDETYPE>0</BDETYPE>
  426. </TYPE>
  427. </TYPELIST>
  428. <MAXLENGTHTABLENAME>24</MAXLENGTHTABLENAME>
  429. <MAXLENGTHCOLNAME>14</MAXLENGTHCOLNAME>
  430. <MAXLENGTHINDEXNAME>24</MAXLENGTHINDEXNAME>
  431. <DEFAULTCHAR>_</DEFAULTCHAR>
  432. <INVALIDCHARACTERS> "#$%&'()*+,/;@^</INVALIDCHARACTERS>
  433. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  434. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  435. <DEFAULTTYPEID>1</DEFAULTTYPEID>
  436. </SERVER>
  437. <SERVER>
  438. <NAME>Interbase 4.0</NAME>
  439. <ID>10</ID>
  440. <GUID>{B200E906-3255-11D4-8604-00C026D00180}</GUID>
  441. <TEMPLATES>
  442. <TEMPLATE>
  443. <NAME>CREATEDATABASE</NAME>
  444. <ID>42</ID>
  445. <GUID>{B200E912-3255-11D4-8604-00C026D00180}</GUID>
  446. <ENABLED>1</ENABLED>
  447. <LEVEL>0</LEVEL>
  448. <IDPARENT>0</IDPARENT>
  449. <VALUE><![CDATA[/*
  450. Created        %createddate%
  451. Modified        %modifieddate%
  452. Project        %projectname%
  453. Model        %modelname%
  454. Company        %company%
  455. Author        %authorname%
  456. Version        %version%
  457. Database        %databasetype% 
  458. */
  459.  
  460. {lbeforescript}
  461. %beforescript%
  462. {ldroptriggerGener}
  463. @showmessage("Drop triggers")
  464. @template(droptriggers)
  465. {lDropIndexGener}
  466. @template(DropIndexs)
  467. {lDropTableGener}
  468. @showmessage("Drop tables")
  469. @template(DropRefIntegritys)
  470. @template(droptables)
  471. {lDropDomainGener}
  472. @showmessage("Drop domains")
  473. @template(dropdomains)
  474. {lDropException}
  475. @template(DropExcept)
  476. {lDomainGener}
  477. @showmessage("Create domains")
  478. @template(CreateDomains)
  479. {lTableGener}
  480. @showmessage("Create tables")
  481. @template(createtables)
  482. {lalterkeysgener}
  483. @template(CreateAlterKeys)
  484. {lIndexGener}
  485. @showmessage("Create indexes")
  486. @template(createindexs)
  487. {lRefIntegGener}
  488. @template(refintegritys)
  489. {true}
  490. set term ^;
  491. {lCreateException}
  492. @template(CreateExcept)
  493. {lProceduresGener}
  494. @template(CreateProcedures)
  495. {lViewsGener}
  496. @template(CreateViews)
  497. {lTriggersGener}
  498. @template(createtriggers)
  499. {lTriggersUserGener}
  500. @template(CreateTriggersList)
  501. {true}
  502. set term ;^
  503. {lUserPermissGener}
  504. @ShowMessage("Users permissions")
  505. @template(CreateUserPermiss)
  506. {lafterscript}
  507. %afterscript%
  508. {true}
  509. @template(UserTempl)
  510.  
  511.  
  512. ]]></VALUE>
  513. <LANGUAGE>0</LANGUAGE>
  514. <CATEGORY>0</CATEGORY>
  515. </TEMPLATE>
  516. <TEMPLATE>
  517. <NAME>CREATETABLE</NAME>
  518. <ID>44</ID>
  519. <GUID>{B200E913-3255-11D4-8604-00C026D00180}</GUID>
  520. <ENABLED>1</ENABLED>
  521. <LEVEL>0</LEVEL>
  522. <IDPARENT>0</IDPARENT>
  523. <VALUE><![CDATA[cr+
  524. "Create table %tablename% %tablestorage% ("+
  525. forcol("", "", cr+tb+  if(AtrIsDict,macro(CreateAtrib2),macro(CreateAtrib)) , ",", "")+
  526. if(existpk and lPkGener, ","+cr+if(lPkAsConstraint and (not Empty(ConstraintPkName)),"Constraint %ConstraintPkName%","")+ " Primary Key ("+forpkcol("", "", ColName, ",", ")"+cr) , cr )+
  527. ");"+cr+showmessage("Table %tablename%")
  528. ]]></VALUE>
  529. <LANGUAGE>0</LANGUAGE>
  530. <CATEGORY>0</CATEGORY>
  531. </TEMPLATE>
  532. <TEMPLATE>
  533. <NAME>CREATEINDEX</NAME>
  534. <ID>46</ID>
  535. <GUID>{B200E914-3255-11D4-8604-00C026D00180}</GUID>
  536. <ENABLED>1</ENABLED>
  537. <LEVEL>0</LEVEL>
  538. <IDPARENT>0</IDPARENT>
  539. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")+if(desc,"DESCENDING ","")
  540. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname,",",");")+cr
  541. +ShowMessage("Index %Indexname% for table %tablename%")
  542. ]]></VALUE>
  543. <LANGUAGE>0</LANGUAGE>
  544. <CATEGORY>0</CATEGORY>
  545. </TEMPLATE>
  546. <TEMPLATE>
  547. <NAME>TRIGGERPARENTUPDATE</NAME>
  548. <ID>49</ID>
  549. <GUID>{B200E915-3255-11D4-8604-00C026D00180}</GUID>
  550. <ENABLED>1</ENABLED>
  551. <LEVEL>0</LEVEL>
  552. <IDPARENT>0</IDPARENT>
  553. <VALUE><![CDATA[{ParUpdCascade and  (not lParUpdCascDekl)}
  554. /* cascade child %childtablename% update when parent %parenttablename% changed */
  555.  
  556. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  557. begin
  558.     update %childtablename%
  559.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = new.%PkParentName%" , ",%cr%" , "")
  560.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND %cr%", "") ;
  561. end
  562.  
  563. {ParUpdSetNULL and  (not lParUpdSetnullDekl)} 
  564. /* cascade setnull when parent changed */
  565.  
  566. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  567. begin
  568.     update %childtablename%
  569.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  570.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  571. end
  572.  
  573. {ParUpdSetDefault and  (not lParUpdSetDefaultDekl)} 
  574. /* cascade setdefault when parent changed */
  575.  
  576. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  577. begin
  578.     update %childtablename%
  579.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  580.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  581. end
  582.  
  583.  
  584. {ParUpdRestrict and (not lParUpdRestDekl)} 
  585. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  586.  
  587. if     @forrelpk( "( ", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  588. begin
  589.     select count( * ) from %childtablename%
  590.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  591.     into :numrows;
  592.     IF ( numrows > 0 ) then
  593.         begin
  594.         exception except_upd_p;
  595.         end
  596. end
  597. ]]></VALUE>
  598. <LANGUAGE>0</LANGUAGE>
  599. <CATEGORY>0</CATEGORY>
  600. </TEMPLATE>
  601. <TEMPLATE>
  602. <NAME>TRIGGERCHILDUPDATE</NAME>
  603. <ID>50</ID>
  604. <GUID>{B200E916-3255-11D4-8604-00C026D00180}</GUID>
  605. <ENABLED>1</ENABLED>
  606. <LEVEL>0</LEVEL>
  607. <IDPARENT>0</IDPARENT>
  608. <VALUE><![CDATA[{ChildUpdRestrict and (not lChildUpdRestDekl)}
  609. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  610.  
  611. if @forrelpk( "(", tb, "new.%pkchildname% is not null", " AND %cr%", ")" ) then
  612.      begin
  613.     select count( * ) from %ParentTableName%
  614.     where     @forrelpk( "", "", "new.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  615.     into :numrows;
  616.     IF ( numrows = 0 ) then
  617.         begin
  618.         exception except_upd_ch;
  619.         end
  620.     end
  621. ]]></VALUE>
  622. <LANGUAGE>0</LANGUAGE>
  623. <CATEGORY>0</CATEGORY>
  624. </TEMPLATE>
  625. <TEMPLATE>
  626. <NAME>CREATETRIGGERUPDATE</NAME>
  627. <ID>51</ID>
  628. <GUID>{B200E917-3255-11D4-8604-00C026D00180}</GUID>
  629. <ENABLED>1</ENABLED>
  630. <LEVEL>0</LEVEL>
  631. <IDPARENT>0</IDPARENT>
  632. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  633. /* Update trigger for %tablename% */
  634.  
  635. CREATE Trigger tu_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  636. before update as
  637. @if(lEntParUpdRest or lEntChildUpdRest,"declare variable numrows integer;","")
  638. begin
  639.      @forchild( "", "", template(triggerparentupdate), "", "" ) 
  640.      @forparent("", "", template(triggerchildupdate), "", "" )
  641. end
  642. ^
  643.  
  644. ]]></VALUE>
  645. <LANGUAGE>0</LANGUAGE>
  646. <CATEGORY>0</CATEGORY>
  647. </TEMPLATE>
  648. <TEMPLATE>
  649. <NAME>CREATETRIGGERINSERT</NAME>
  650. <ID>52</ID>
  651. <GUID>{B200E918-3255-11D4-8604-00C026D00180}</GUID>
  652. <ENABLED>1</ENABLED>
  653. <LEVEL>0</LEVEL>
  654. <IDPARENT>0</IDPARENT>
  655. <VALUE><![CDATA[{lEntChildInsTrig  }
  656. /* Insert trigger for %tablename% */
  657.  
  658. CREATE Trigger ti_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  659. before insert as
  660. declare variable numrows integer;
  661. begin
  662. @forparent("", "", template(TriggerParentInsert), "", "")
  663. end
  664. ^
  665.  
  666. ]]></VALUE>
  667. <LANGUAGE>0</LANGUAGE>
  668. <CATEGORY>0</CATEGORY>
  669. </TEMPLATE>
  670. <TEMPLATE>
  671. <NAME>CREATETRIGGERDELETE</NAME>
  672. <ID>53</ID>
  673. <GUID>{B200E919-3255-11D4-8604-00C026D00180}</GUID>
  674. <ENABLED>1</ENABLED>
  675. <LEVEL>0</LEVEL>
  676. <IDPARENT>0</IDPARENT>
  677. <VALUE><![CDATA[{lEntParDelTrig }
  678. /* Delete trigger for %tablename% */
  679.  
  680. CREATE Trigger td_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  681. before delete as
  682. @if(lEntParDelRest,"declare variable numrows integer;","")
  683. begin
  684. @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  685. end
  686. ^
  687.  
  688. ]]></VALUE>
  689. <LANGUAGE>0</LANGUAGE>
  690. <CATEGORY>0</CATEGORY>
  691. </TEMPLATE>
  692. <TEMPLATE>
  693. <NAME>TRIGGERPARENTDELETE</NAME>
  694. <ID>54</ID>
  695. <GUID>{B200E91A-3255-11D4-8604-00C026D00180}</GUID>
  696. <ENABLED>1</ENABLED>
  697. <LEVEL>0</LEVEL>
  698. <IDPARENT>0</IDPARENT>
  699. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  700. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  701.  
  702.     delete from %childtablename%
  703.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND %cr%", "");
  704.  
  705.  
  706. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  707. /* cascade setnull when parent deleted */
  708.  
  709.     update %childtablename%
  710.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  711.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  712.  
  713.  
  714. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  715. /* cascade setdefault when parent deleted */
  716.  
  717.     update %childtablename%
  718.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  719.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  720.  
  721.  
  722.  
  723. {ParDelRestrict and (not lParDelRestDekl)} 
  724. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  725.  
  726.  
  727.     select count( * ) from %childtablename%
  728.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  729.     into :numrows;
  730.     IF ( numrows > 0 ) then
  731.         begin
  732.         exception except_del_p;
  733.         end 
  734. ]]></VALUE>
  735. <LANGUAGE>0</LANGUAGE>
  736. <CATEGORY>0</CATEGORY>
  737. </TEMPLATE>
  738. <TEMPLATE>
  739. <NAME>TRIGGERPARENTINSERT</NAME>
  740. <ID>55</ID>
  741. <GUID>{B200E91B-3255-11D4-8604-00C026D00180}</GUID>
  742. <ENABLED>1</ENABLED>
  743. <LEVEL>0</LEVEL>
  744. <IDPARENT>0</IDPARENT>
  745. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  746. /* restrict child %childtablename% when parent %parenttablename% insert */
  747.  
  748. if @forrelpk( "(", tb, "new.%pkchildname% is not null", " AND %cr%", ")" ) then
  749.      begin
  750.     select count( * ) from %ParentTableName%
  751.     where     @forrelpk( "", "", "new.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  752.     into :numrows;
  753.     IF ( numrows = 0 ) then
  754.         begin
  755.         exception  except_ins_ch;
  756.         end
  757.     end
  758. ]]></VALUE>
  759. <LANGUAGE>0</LANGUAGE>
  760. <CATEGORY>0</CATEGORY>
  761. </TEMPLATE>
  762. <TEMPLATE>
  763. <NAME>REFINTEGRITY</NAME>
  764. <ID>61</ID>
  765. <GUID>{B200E91C-3255-11D4-8604-00C026D00180}</GUID>
  766. <ENABLED>1</ENABLED>
  767. <LEVEL>0</LEVEL>
  768. <IDPARENT>0</IDPARENT>
  769. <VALUE><![CDATA[{lRelAnyDekl}
  770. alter table %childtablename% add @if(lFkAsConstraint and (not Empty(fRelname)),"Constraint %frelname%","") foreign key (%childkeys%) references %parenttablename% (%parentkeys%);
  771. ]]></VALUE>
  772. <LANGUAGE>0</LANGUAGE>
  773. <CATEGORY>0</CATEGORY>
  774. </TEMPLATE>
  775. <TEMPLATE>
  776. <NAME>DropIndexs</NAME>
  777. <ID>70</ID>
  778. <GUID>{B200E91D-3255-11D4-8604-00C026D00180}</GUID>
  779. <ENABLED>1</ENABLED>
  780. <LEVEL>0</LEVEL>
  781. <IDPARENT>0</IDPARENT>
  782. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname%;%cr%", "", "" ),"","")
  783. ]]></VALUE>
  784. <LANGUAGE>0</LANGUAGE>
  785. <CATEGORY>0</CATEGORY>
  786. </TEMPLATE>
  787. <TEMPLATE>
  788. <NAME>DROPTABLES</NAME>
  789. <ID>129</ID>
  790. <GUID>{B200E91E-3255-11D4-8604-00C026D00180}</GUID>
  791. <ENABLED>1</ENABLED>
  792. <LEVEL>0</LEVEL>
  793. <IDPARENT>0</IDPARENT>
  794. <VALUE><![CDATA[@ForTable("%cr%", "", "Drop table %tablename%;%cr%", "", "" )
  795. ]]></VALUE>
  796. <LANGUAGE>0</LANGUAGE>
  797. <CATEGORY>0</CATEGORY>
  798. </TEMPLATE>
  799. <TEMPLATE>
  800. <NAME>CREATEDOMAINS</NAME>
  801. <ID>161</ID>
  802. <GUID>{B200E91F-3255-11D4-8604-00C026D00180}</GUID>
  803. <ENABLED>1</ENABLED>
  804. <LEVEL>0</LEVEL>
  805. <IDPARENT>0</IDPARENT>
  806. <VALUE><![CDATA[@ForDict("", "", macro(CreateDomain) , cr, "")
  807. ]]></VALUE>
  808. <LANGUAGE>0</LANGUAGE>
  809. <CATEGORY>0</CATEGORY>
  810. </TEMPLATE>
  811. <TEMPLATE>
  812. <NAME>CREATEDOMAIN</NAME>
  813. <ID>162</ID>
  814. <GUID>{B200E920-3255-11D4-8604-00C026D00180}</GUID>
  815. <ENABLED>1</ENABLED>
  816. <LEVEL>0</LEVEL>
  817. <IDPARENT>0</IDPARENT>
  818. <VALUE><![CDATA["Create Domain %DictName% %TypSQL%"+
  819. if(Empty(DefDict),""," %DefDict% ")+
  820. if(DefaultExist," Default %default%","")+
  821. if(CheckExist," Check ("+evalcheck2("value")+" )", "")+
  822. if(Empty(Def2Dict),"", " %Def2Dict% ")+
  823. ";"
  824. ]]></VALUE>
  825. <LANGUAGE>0</LANGUAGE>
  826. <CATEGORY>0</CATEGORY>
  827. </TEMPLATE>
  828. <TEMPLATE>
  829. <NAME>CREATEATRIB</NAME>
  830. <ID>163</ID>
  831. <GUID>{B200E921-3255-11D4-8604-00C026D00180}</GUID>
  832. <ENABLED>1</ENABLED>
  833. <LEVEL>0</LEVEL>
  834. <IDPARENT>0</IDPARENT>
  835. <VALUE><![CDATA["%ColName% %typsql% "+
  836. if(defexist," %defvalue%", "")+
  837. if(defaultexist," Default %defaultvalue% "  ,"")+
  838. if(notnull," NOT NULL "," ")+
  839. if(UniqueAtr,if(not Empty(ConstraintAtrUnique),"Constraint %ConstraintAtrUnique%","")+" UNIQUE ", "")+
  840. if(constraintExist and CheckExist, " Constraint %constraint%","")+
  841. if(checkexist," Check ("+ evalcheck+" )","")+
  842. if(def2exist," %def2value%", "")
  843. ]]></VALUE>
  844. <LANGUAGE>0</LANGUAGE>
  845. <CATEGORY>0</CATEGORY>
  846. </TEMPLATE>
  847. <TEMPLATE>
  848. <NAME>DROPDOMAINS</NAME>
  849. <ID>165</ID>
  850. <GUID>{B200E922-3255-11D4-8604-00C026D00180}</GUID>
  851. <ENABLED>1</ENABLED>
  852. <LEVEL>0</LEVEL>
  853. <IDPARENT>0</IDPARENT>
  854. <VALUE><![CDATA[@ForDict("%cr%", "", "Drop domain %dictname%;%cr%", "", "" )
  855. ]]></VALUE>
  856. <LANGUAGE>0</LANGUAGE>
  857. <CATEGORY>0</CATEGORY>
  858. </TEMPLATE>
  859. <TEMPLATE>
  860. <NAME>CREATEATRIB2</NAME>
  861. <ID>166</ID>
  862. <GUID>{B200E923-3255-11D4-8604-00C026D00180}</GUID>
  863. <ENABLED>1</ENABLED>
  864. <LEVEL>0</LEVEL>
  865. <IDPARENT>0</IDPARENT>
  866. <VALUE><![CDATA["%colname% %DictName%" + 
  867. if(notnull," NOT NULL "," ")
  868. ]]></VALUE>
  869. <LANGUAGE>0</LANGUAGE>
  870. <CATEGORY>0</CATEGORY>
  871. </TEMPLATE>
  872. <TEMPLATE>
  873. <NAME>CreateTableAlter</NAME>
  874. <ID>229</ID>
  875. <GUID>{B200E924-3255-11D4-8604-00C026D00180}</GUID>
  876. <ENABLED>1</ENABLED>
  877. <LEVEL>0</LEVEL>
  878. <IDPARENT>0</IDPARENT>
  879. <VALUE><![CDATA[cr+
  880. "Create table tmp%tablename% %tablestorage% ("+
  881. forcol("", "", cr+tb+"%ColName% %typsql% " , ",", ")")+
  882. cr+showmessage("Table %tablename%")
  883. ]]></VALUE>
  884. <LANGUAGE>0</LANGUAGE>
  885. <CATEGORY>0</CATEGORY>
  886. </TEMPLATE>
  887. <TEMPLATE>
  888. <NAME>CreateTablesAlter</NAME>
  889. <ID>230</ID>
  890. <GUID>{B200E925-3255-11D4-8604-00C026D00180}</GUID>
  891. <ENABLED>1</ENABLED>
  892. <LEVEL>0</LEVEL>
  893. <IDPARENT>0</IDPARENT>
  894. <VALUE><![CDATA[@fortable("", "", macro(CreateTableAlter), "", "" )
  895. ]]></VALUE>
  896. <LANGUAGE>0</LANGUAGE>
  897. <CATEGORY>0</CATEGORY>
  898. </TEMPLATE>
  899. <TEMPLATE>
  900. <NAME>TablesAlter</NAME>
  901. <ID>231</ID>
  902. <GUID>{B200E926-3255-11D4-8604-00C026D00180}</GUID>
  903. <ENABLED>1</ENABLED>
  904. <LEVEL>0</LEVEL>
  905. <IDPARENT>0</IDPARENT>
  906. <VALUE><![CDATA[@fortable("", "", macro(TableAlter), "", "" )
  907. ]]></VALUE>
  908. <LANGUAGE>0</LANGUAGE>
  909. <CATEGORY>0</CATEGORY>
  910. </TEMPLATE>
  911. <TEMPLATE>
  912. <NAME>TableAlter</NAME>
  913. <ID>232</ID>
  914. <GUID>{B200E927-3255-11D4-8604-00C026D00180}</GUID>
  915. <ENABLED>1</ENABLED>
  916. <LEVEL>0</LEVEL>
  917. <IDPARENT>0</IDPARENT>
  918. <VALUE><![CDATA["drop table tmp%tablename%"+cr+
  919. macro(CreateTableAlter)+cr+
  920. "insert into tmp%tablename% "+ forcol("(", "", colname, ",",")")+cr+
  921. "select "+forcol("(", "", colname, ",", ")")+cr+
  922. "from %tablename%;"+cr+
  923. "insert into tmp%tablename% ();"+cr
  924. ]]></VALUE>
  925. <LANGUAGE>0</LANGUAGE>
  926. <CATEGORY>0</CATEGORY>
  927. </TEMPLATE>
  928. <TEMPLATE>
  929. <NAME>TableAlterTarget</NAME>
  930. <ID>233</ID>
  931. <GUID>{B200E928-3255-11D4-8604-00C026D00180}</GUID>
  932. <ENABLED>1</ENABLED>
  933. <LEVEL>0</LEVEL>
  934. <IDPARENT>0</IDPARENT>
  935. <VALUE><![CDATA[macro(CreateTable)+cr+
  936. "insert into %tablename% "+forcol("(", "", colname, ",", ")" )+cr+
  937. "select "+forcol("(", "", "", "", ")")+cr+
  938. "from tmp%tablename%;"+cr+cr+
  939. "drop table tmp%tablename%;"
  940. ]]></VALUE>
  941. <LANGUAGE>0</LANGUAGE>
  942. <CATEGORY>0</CATEGORY>
  943. </TEMPLATE>
  944. <TEMPLATE>
  945. <NAME>DropRefIntegrity</NAME>
  946. <ID>250</ID>
  947. <GUID>{B200E929-3255-11D4-8604-00C026D00180}</GUID>
  948. <ENABLED>1</ENABLED>
  949. <LEVEL>0</LEVEL>
  950. <IDPARENT>0</IDPARENT>
  951. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  952. alter table %childtablename% drop constraint %frelname%;
  953. ]]></VALUE>
  954. <LANGUAGE>0</LANGUAGE>
  955. <CATEGORY>0</CATEGORY>
  956. </TEMPLATE>
  957. <TEMPLATE>
  958. <NAME>DropTriggerUpdate</NAME>
  959. <ID>252</ID>
  960. <GUID>{B200E92A-3255-11D4-8604-00C026D00180}</GUID>
  961. <ENABLED>1</ENABLED>
  962. <LEVEL>0</LEVEL>
  963. <IDPARENT>0</IDPARENT>
  964. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  965. drop trigger tu_%tablename%;
  966. ]]></VALUE>
  967. <LANGUAGE>0</LANGUAGE>
  968. <CATEGORY>0</CATEGORY>
  969. </TEMPLATE>
  970. <TEMPLATE>
  971. <NAME>DropTriggerDelete</NAME>
  972. <ID>253</ID>
  973. <GUID>{B200E92B-3255-11D4-8604-00C026D00180}</GUID>
  974. <ENABLED>1</ENABLED>
  975. <LEVEL>0</LEVEL>
  976. <IDPARENT>0</IDPARENT>
  977. <VALUE><![CDATA[{lEntParDelTrig}
  978. drop trigger td_%tablename%;
  979. ]]></VALUE>
  980. <LANGUAGE>0</LANGUAGE>
  981. <CATEGORY>0</CATEGORY>
  982. </TEMPLATE>
  983. <TEMPLATE>
  984. <NAME>DropTriggerInsert</NAME>
  985. <ID>254</ID>
  986. <GUID>{B200E92C-3255-11D4-8604-00C026D00180}</GUID>
  987. <ENABLED>1</ENABLED>
  988. <LEVEL>0</LEVEL>
  989. <IDPARENT>0</IDPARENT>
  990. <VALUE><![CDATA[{lEntChildInsTrig  }
  991. drop trigger ti_%tablename%;
  992. ]]></VALUE>
  993. <LANGUAGE>0</LANGUAGE>
  994. <CATEGORY>0</CATEGORY>
  995. </TEMPLATE>
  996. <TEMPLATE>
  997. <NAME>CreateAlterKey</NAME>
  998. <ID>259</ID>
  999. <GUID>{B200E92D-3255-11D4-8604-00C026D00180}</GUID>
  1000. <ENABLED>1</ENABLED>
  1001. <LEVEL>0</LEVEL>
  1002. <IDPARENT>0</IDPARENT>
  1003. <VALUE><![CDATA[@foralterkey("","","alter table %tablename% add constraint %AlterKeyConstraintName% unique (%AlterKeyKeys%);","","")
  1004. ]]></VALUE>
  1005. <LANGUAGE>0</LANGUAGE>
  1006. <CATEGORY>0</CATEGORY>
  1007. </TEMPLATE>
  1008. <TEMPLATE>
  1009. <NAME>CreateExcept</NAME>
  1010. <ID>278</ID>
  1011. <GUID>{B200E92E-3255-11D4-8604-00C026D00180}</GUID>
  1012. <ENABLED>1</ENABLED>
  1013. <LEVEL>0</LEVEL>
  1014. <IDPARENT>0</IDPARENT>
  1015. <VALUE><![CDATA[create exception except_del_p 'Children still exist in child table. Cannot delete parent'^
  1016. create exception except_ins_ch 'Parent does not exist. Cannot create child.'^
  1017. create exception except_upd_ch 'Parent does not exist. Cannot update child '^
  1018. create exception except_upd_p 'Children still exist in child table.'^
  1019. ]]></VALUE>
  1020. <LANGUAGE>0</LANGUAGE>
  1021. <CATEGORY>0</CATEGORY>
  1022. </TEMPLATE>
  1023. <TEMPLATE>
  1024. <NAME>DropExcept</NAME>
  1025. <ID>279</ID>
  1026. <GUID>{B200E92F-3255-11D4-8604-00C026D00180}</GUID>
  1027. <ENABLED>1</ENABLED>
  1028. <LEVEL>0</LEVEL>
  1029. <IDPARENT>0</IDPARENT>
  1030. <VALUE><![CDATA[drop exception except_del_p 'Children still exist in child table. Cannot delete parent';
  1031. drop exception except_ins_ch 'Parent does not exist. Cannot create child.';
  1032. drop exception except_upd_ch 'Parent does not exist. Cannot update child.';
  1033. drop exception except_upd_p 'Children still exist in child table.';
  1034. ]]></VALUE>
  1035. <LANGUAGE>0</LANGUAGE>
  1036. <CATEGORY>0</CATEGORY>
  1037. </TEMPLATE>
  1038. </TEMPLATES>
  1039. <VARIABLES><![CDATA[lDomainSupp 1
  1040. lConstraintPkSupp  1
  1041. lConstraintFkSupp  1
  1042. lAtrCheckConstraintSupp 1
  1043. lAtrUniqueConstraintSupp 1 
  1044. lAlterKeySupp 1
  1045. lProceduresSupp 1
  1046. lViewsSupp 1
  1047. lPermissUserToObjectSupp 1
  1048.  
  1049. lDriParUpdRestrict 1
  1050. lDriParUpdCascade 0
  1051. lDriParUpdSetNull 0
  1052. lDriParUpdSetDefault 0
  1053. lDriParDelRestrict 1
  1054. lDriParDelCascade 0
  1055. lDriParDelSetNull 0
  1056. lDriParDelSetDefault 0
  1057. lDriChildInsRestrict 0
  1058. lDriChildUpdRestrict 0
  1059. lDriParUpdRestrictSupp 1
  1060. lDriParUpdCascadeSupp 0
  1061. lDriParUpdSetNullSupp 0
  1062. lDriParUpdSetDefaultSupp 0
  1063. lDriParDelRestrictSupp 1
  1064. lDriParDelCascadeSupp 0
  1065. lDriParDelSetNullSupp 0
  1066. lDriParDelSetDefaultSupp 0
  1067. lDriChildInsRestrictSupp 0
  1068. lDriChildUpdRestrictSupp 0
  1069. lIndexDescendSupp 1
  1070. lIndexItDescendSupp 0
  1071. lIndexUpperSupp 0
  1072. lIndexExprSupp 0
  1073. lIndexUniqueSupp 1
  1074. lIndexFilterSupp 0
  1075. lIndexStandSupp 1
  1076. lIndexClusterSupp 0
  1077. lIndexNameUnique 1
  1078. lPkSupp 1
  1079. lPkNotNull 1
  1080. lDRISupp 1
  1081. lTriggerSupp 1
  1082. lAtrUniqueSupp 1
  1083. lAtrNotNullSupp 1
  1084. lAtrCheckSupp 1
  1085. lAtrDefaultSupp 1
  1086. lDomainSupp 1
  1087. lConstraintPkSupp  1
  1088. lConstraintFkSupp  1
  1089. lAtrCheckConstraintSupp 1
  1090. lAtrUniqueConstraintSupp 1 
  1091. lAlterKeySupp 1
  1092. lProceduresSupp 1
  1093. lViewsSupp 1
  1094. lPermissUserToObjectSupp 1
  1095.  
  1096. ]]></VARIABLES>
  1097. <USEREDITS>
  1098. <USEREDIT>
  1099. <NAME>lCreateException</NAME>
  1100. <ID>4</ID>
  1101. <GUID>{B200E930-3255-11D4-8604-00C026D00180}</GUID>
  1102. <CAPTION>Create exception</CAPTION>
  1103. <TYPE>1</TYPE>
  1104. <LEVEL>1</LEVEL>
  1105. <DEFAULT></DEFAULT>
  1106. <ORD>120</ORD>
  1107. <LENGTH>250</LENGTH>
  1108. </USEREDIT>
  1109. <USEREDIT>
  1110. <NAME>lDropException</NAME>
  1111. <ID>5</ID>
  1112. <GUID>{B200E931-3255-11D4-8604-00C026D00180}</GUID>
  1113. <CAPTION>Drop exception</CAPTION>
  1114. <TYPE>1</TYPE>
  1115. <LEVEL>1</LEVEL>
  1116. <DEFAULT></DEFAULT>
  1117. <ORD>130</ORD>
  1118. <LENGTH>250</LENGTH>
  1119. </USEREDIT>
  1120. </USEREDITS>
  1121. <TYPELIST>
  1122. <TYPE>
  1123. <NAME>Char</NAME>
  1124. <ID>10</ID>
  1125. <GUID>{B200E907-3255-11D4-8604-00C026D00180}</GUID>
  1126. <PHNAME>Char</PHNAME>
  1127. <LLENGTH>1</LLENGTH>
  1128. <LDECIMAL>0</LDECIMAL>
  1129. <MAXLENGTH>32765</MAXLENGTH>
  1130. <MINLENGTH>1</MINLENGTH>
  1131. <MAXDECIMAL>0</MAXDECIMAL>
  1132. <MINDECIMAL>0</MINDECIMAL>
  1133. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  1134. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1135. <TRANSFORMCODE>A</TRANSFORMCODE>
  1136. <TRANSFORMTO>LA;VA;LVA;</TRANSFORMTO>
  1137. <EXPORTTO>0</EXPORTTO>
  1138. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1139. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1140. <ODBCTYPE>1</ODBCTYPE>
  1141. <BDETYPE>0</BDETYPE>
  1142. </TYPE>
  1143. <TYPE>
  1144. <NAME>Varchar</NAME>
  1145. <ID>20</ID>
  1146. <GUID>{B200E908-3255-11D4-8604-00C026D00180}</GUID>
  1147. <PHNAME>Varchar</PHNAME>
  1148. <LLENGTH>1</LLENGTH>
  1149. <LDECIMAL>0</LDECIMAL>
  1150. <MAXLENGTH>32765</MAXLENGTH>
  1151. <MINLENGTH>1</MINLENGTH>
  1152. <MAXDECIMAL>0</MAXDECIMAL>
  1153. <MINDECIMAL>0</MINDECIMAL>
  1154. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  1155. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1156. <TRANSFORMCODE>VA</TRANSFORMCODE>
  1157. <TRANSFORMTO>LVA;A;LA;</TRANSFORMTO>
  1158. <EXPORTTO>0</EXPORTTO>
  1159. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1160. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1161. <ODBCTYPE>12</ODBCTYPE>
  1162. <BDETYPE>0</BDETYPE>
  1163. </TYPE>
  1164. <TYPE>
  1165. <NAME>Smallint</NAME>
  1166. <ID>30</ID>
  1167. <GUID>{B200E909-3255-11D4-8604-00C026D00180}</GUID>
  1168. <PHNAME>Smallint</PHNAME>
  1169. <LLENGTH>0</LLENGTH>
  1170. <LDECIMAL>0</LDECIMAL>
  1171. <MAXLENGTH>0</MAXLENGTH>
  1172. <MINLENGTH>0</MINLENGTH>
  1173. <MAXDECIMAL>0</MAXDECIMAL>
  1174. <MINDECIMAL>0</MINDECIMAL>
  1175. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  1176. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1177. <TRANSFORMCODE>SI</TRANSFORMCODE>
  1178. <TRANSFORMTO>I;LI;N,3,0;</TRANSFORMTO>
  1179. <EXPORTTO>0</EXPORTTO>
  1180. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1181. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1182. <ODBCTYPE>5</ODBCTYPE>
  1183. <BDETYPE>0</BDETYPE>
  1184. </TYPE>
  1185. <TYPE>
  1186. <NAME>Integer</NAME>
  1187. <ID>40</ID>
  1188. <GUID>{B200E90A-3255-11D4-8604-00C026D00180}</GUID>
  1189. <PHNAME>Integer</PHNAME>
  1190. <LLENGTH>0</LLENGTH>
  1191. <LDECIMAL>0</LDECIMAL>
  1192. <MAXLENGTH>0</MAXLENGTH>
  1193. <MINLENGTH>0</MINLENGTH>
  1194. <MAXDECIMAL>0</MAXDECIMAL>
  1195. <MINDECIMAL>0</MINDECIMAL>
  1196. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  1197. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1198. <TRANSFORMCODE>I</TRANSFORMCODE>
  1199. <TRANSFORMTO>LI;N,10,0;</TRANSFORMTO>
  1200. <EXPORTTO>0</EXPORTTO>
  1201. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1202. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1203. <ODBCTYPE>4</ODBCTYPE>
  1204. <BDETYPE>0</BDETYPE>
  1205. </TYPE>
  1206. <TYPE>
  1207. <NAME>Float</NAME>
  1208. <ID>50</ID>
  1209. <GUID>{B200E90B-3255-11D4-8604-00C026D00180}</GUID>
  1210. <PHNAME>Float</PHNAME>
  1211. <LLENGTH>0</LLENGTH>
  1212. <LDECIMAL>0</LDECIMAL>
  1213. <MAXLENGTH>0</MAXLENGTH>
  1214. <MINLENGTH>0</MINLENGTH>
  1215. <MAXDECIMAL>0</MAXDECIMAL>
  1216. <MINDECIMAL>0</MINDECIMAL>
  1217. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  1218. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1219. <TRANSFORMCODE>F</TRANSFORMCODE>
  1220. <TRANSFORMTO>LF;N,15,5;</TRANSFORMTO>
  1221. <EXPORTTO>0</EXPORTTO>
  1222. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1223. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1224. <ODBCTYPE>6</ODBCTYPE>
  1225. <BDETYPE>0</BDETYPE>
  1226. </TYPE>
  1227. <TYPE>
  1228. <NAME>Double</NAME>
  1229. <ID>60</ID>
  1230. <GUID>{B200E90C-3255-11D4-8604-00C026D00180}</GUID>
  1231. <PHNAME>Double precision</PHNAME>
  1232. <LLENGTH>0</LLENGTH>
  1233. <LDECIMAL>0</LDECIMAL>
  1234. <MAXLENGTH>0</MAXLENGTH>
  1235. <MINLENGTH>0</MINLENGTH>
  1236. <MAXDECIMAL>0</MAXDECIMAL>
  1237. <MINDECIMAL>0</MINDECIMAL>
  1238. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  1239. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1240. <TRANSFORMCODE>LF</TRANSFORMCODE>
  1241. <TRANSFORMTO>F;N,15,5;</TRANSFORMTO>
  1242. <EXPORTTO>0</EXPORTTO>
  1243. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1244. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1245. <ODBCTYPE>8</ODBCTYPE>
  1246. <BDETYPE>0</BDETYPE>
  1247. </TYPE>
  1248. <TYPE>
  1249. <NAME>Date</NAME>
  1250. <ID>70</ID>
  1251. <GUID>{B200E90D-3255-11D4-8604-00C026D00180}</GUID>
  1252. <PHNAME>Date</PHNAME>
  1253. <LLENGTH>0</LLENGTH>
  1254. <LDECIMAL>0</LDECIMAL>
  1255. <MAXLENGTH>0</MAXLENGTH>
  1256. <MINLENGTH>0</MINLENGTH>
  1257. <MAXDECIMAL>0</MAXDECIMAL>
  1258. <MINDECIMAL>0</MINDECIMAL>
  1259. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  1260. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1261. <TRANSFORMCODE>DT</TRANSFORMCODE>
  1262. <TRANSFORMTO>D;</TRANSFORMTO>
  1263. <EXPORTTO>0</EXPORTTO>
  1264. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1265. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1266. <ODBCTYPE>91</ODBCTYPE>
  1267. <BDETYPE>0</BDETYPE>
  1268. </TYPE>
  1269. <TYPE>
  1270. <NAME>Blob</NAME>
  1271. <ID>80</ID>
  1272. <GUID>{B200E90E-3255-11D4-8604-00C026D00180}</GUID>
  1273. <PHNAME>Blob</PHNAME>
  1274. <LLENGTH>1</LLENGTH>
  1275. <LDECIMAL>1</LDECIMAL>
  1276. <MAXLENGTH>65535</MAXLENGTH>
  1277. <MINLENGTH>1</MINLENGTH>
  1278. <MAXDECIMAL>2</MAXDECIMAL>
  1279. <MINDECIMAL>-100</MINDECIMAL>
  1280. <DEFAULTLENGTH>500</DEFAULTLENGTH>
  1281. <DEFAULTDECIMAL>1</DEFAULTDECIMAL>
  1282. <TRANSFORMCODE>BLOB</TRANSFORMCODE>
  1283. <TRANSFORMTO>BIN;LBIN;</TRANSFORMTO>
  1284. <EXPORTTO>0</EXPORTTO>
  1285. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1286. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1287. <ODBCTYPE>-4</ODBCTYPE>
  1288. <BDETYPE>0</BDETYPE>
  1289. </TYPE>
  1290. <TYPE>
  1291. <NAME>Decimal</NAME>
  1292. <ID>90</ID>
  1293. <GUID>{B200E90F-3255-11D4-8604-00C026D00180}</GUID>
  1294. <PHNAME>Decimal</PHNAME>
  1295. <LLENGTH>1</LLENGTH>
  1296. <LDECIMAL>1</LDECIMAL>
  1297. <MAXLENGTH>15</MAXLENGTH>
  1298. <MINLENGTH>1</MINLENGTH>
  1299. <MAXDECIMAL>15</MAXDECIMAL>
  1300. <MINDECIMAL>0</MINDECIMAL>
  1301. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  1302. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1303. <TRANSFORMCODE>DC</TRANSFORMCODE>
  1304. <TRANSFORMTO>N,15,5;F;</TRANSFORMTO>
  1305. <EXPORTTO>0</EXPORTTO>
  1306. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1307. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1308. <ODBCTYPE>3</ODBCTYPE>
  1309. <BDETYPE>0</BDETYPE>
  1310. </TYPE>
  1311. <TYPE>
  1312. <NAME>Numeric</NAME>
  1313. <ID>100</ID>
  1314. <GUID>{B200E910-3255-11D4-8604-00C026D00180}</GUID>
  1315. <PHNAME>Numeric</PHNAME>
  1316. <LLENGTH>1</LLENGTH>
  1317. <LDECIMAL>1</LDECIMAL>
  1318. <MAXLENGTH>15</MAXLENGTH>
  1319. <MINLENGTH>1</MINLENGTH>
  1320. <MAXDECIMAL>15</MAXDECIMAL>
  1321. <MINDECIMAL>0</MINDECIMAL>
  1322. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  1323. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1324. <TRANSFORMCODE>N</TRANSFORMCODE>
  1325. <TRANSFORMTO>DC;LF;F;</TRANSFORMTO>
  1326. <EXPORTTO>0</EXPORTTO>
  1327. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1328. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1329. <ODBCTYPE>2</ODBCTYPE>
  1330. <BDETYPE>0</BDETYPE>
  1331. </TYPE>
  1332. <TYPE>
  1333. <NAME>Empty</NAME>
  1334. <ID>200</ID>
  1335. <GUID>{B200E911-3255-11D4-8604-00C026D00180}</GUID>
  1336. <PHNAME></PHNAME>
  1337. <LLENGTH>0</LLENGTH>
  1338. <LDECIMAL>0</LDECIMAL>
  1339. <MAXLENGTH>0</MAXLENGTH>
  1340. <MINLENGTH>0</MINLENGTH>
  1341. <MAXDECIMAL>0</MAXDECIMAL>
  1342. <MINDECIMAL>0</MINDECIMAL>
  1343. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  1344. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1345. <TRANSFORMCODE></TRANSFORMCODE>
  1346. <TRANSFORMTO></TRANSFORMTO>
  1347. <EXPORTTO>0</EXPORTTO>
  1348. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1349. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1350. <ODBCTYPE>0</ODBCTYPE>
  1351. <BDETYPE>0</BDETYPE>
  1352. </TYPE>
  1353. </TYPELIST>
  1354. <MAXLENGTHTABLENAME>31</MAXLENGTHTABLENAME>
  1355. <MAXLENGTHCOLNAME>31</MAXLENGTHCOLNAME>
  1356. <MAXLENGTHINDEXNAME>31</MAXLENGTHINDEXNAME>
  1357. <DEFAULTCHAR>_</DEFAULTCHAR>
  1358. <INVALIDCHARACTERS> !"#%&'()*+,-./:;<=>?@[\]^`{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ </INVALIDCHARACTERS>
  1359. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  1360. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  1361. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  1362. </SERVER>
  1363. <SERVER>
  1364. <NAME>Clipper 5.0</NAME>
  1365. <ID>20</ID>
  1366. <GUID>{B200E932-3255-11D4-8604-00C026D00180}</GUID>
  1367. <TEMPLATES>
  1368. <TEMPLATE>
  1369. <NAME>CREATEDATABASE</NAME>
  1370. <ID>223</ID>
  1371. <GUID>{B200E938-3255-11D4-8604-00C026D00180}</GUID>
  1372. <ENABLED>1</ENABLED>
  1373. <LEVEL>0</LEVEL>
  1374. <IDPARENT>0</IDPARENT>
  1375. <VALUE><![CDATA[#include 'casestud.ch'
  1376.  
  1377. // Created        %createddate%
  1378. // Modified        %modifieddate%
  1379. // Project            %projectname%
  1380. // Model            %modelname%
  1381. // Company        %company%
  1382. // Author            %authorname%
  1383. // Version        %version%
  1384. // Database        %databasetype%
  1385.  
  1386. {lBeforeScript}
  1387. %beforescript%
  1388. {lTableGener}
  1389. @showmessage("Create tables")
  1390. @template(createtables)
  1391. {lDropIndexGener}
  1392. @template(DropIndexs)
  1393. {lIndexGener}
  1394. @showmessage("Create indexes")
  1395. @template(createindexs)
  1396. {lAfterScript}
  1397. %afterscript%
  1398. {true}
  1399. @template(UserTempl)
  1400.  
  1401. ]]></VALUE>
  1402. <LANGUAGE>0</LANGUAGE>
  1403. <CATEGORY>0</CATEGORY>
  1404. </TEMPLATE>
  1405. <TEMPLATE>
  1406. <NAME>CREATETABLES</NAME>
  1407. <ID>224</ID>
  1408. <GUID>{B200E939-3255-11D4-8604-00C026D00180}</GUID>
  1409. <ENABLED>1</ENABLED>
  1410. <LEVEL>0</LEVEL>
  1411. <IDPARENT>0</IDPARENT>
  1412. <VALUE><![CDATA[@fortable("", "", macro(createtable), "", "" )
  1413. ]]></VALUE>
  1414. <LANGUAGE>0</LANGUAGE>
  1415. <CATEGORY>0</CATEGORY>
  1416. </TEMPLATE>
  1417. <TEMPLATE>
  1418. <NAME>CREATETABLE</NAME>
  1419. <ID>225</ID>
  1420. <GUID>{B200E93A-3255-11D4-8604-00C026D00180}</GUID>
  1421. <ENABLED>1</ENABLED>
  1422. <LEVEL>0</LEVEL>
  1423. <IDPARENT>0</IDPARENT>
  1424. <VALUE><![CDATA[cr+if(ldroptablegener,"Drop table %TableStorage%%tablename%.dbf","")+cr+
  1425. "Create table %TableStorage%%tablename%.dbf ("+" ;"+cr+
  1426. forcol("", "", macro(CreateAtrib), ", ;"+cr, "")+" ;"+cr+")"+
  1427. cr+showmessage("Create table %tablename%")
  1428. ]]></VALUE>
  1429. <LANGUAGE>0</LANGUAGE>
  1430. <CATEGORY>0</CATEGORY>
  1431. </TEMPLATE>
  1432. <TEMPLATE>
  1433. <NAME>CREATEINDEXS</NAME>
  1434. <ID>226</ID>
  1435. <GUID>{B200E93B-3255-11D4-8604-00C026D00180}</GUID>
  1436. <ENABLED>1</ENABLED>
  1437. <LEVEL>0</LEVEL>
  1438. <IDPARENT>0</IDPARENT>
  1439. <VALUE><![CDATA[{lindexexist}
  1440. @fortable("","",macro(createindex),"","")
  1441. ]]></VALUE>
  1442. <LANGUAGE>0</LANGUAGE>
  1443. <CATEGORY>0</CATEGORY>
  1444. </TEMPLATE>
  1445. <TEMPLATE>
  1446. <NAME>CREATEINDEX</NAME>
  1447. <ID>227</ID>
  1448. <GUID>{B200E93C-3255-11D4-8604-00C026D00180}</GUID>
  1449. <ENABLED>1</ENABLED>
  1450. <LEVEL>0</LEVEL>
  1451. <IDPARENT>0</IDPARENT>
  1452. <VALUE><![CDATA[forindex("","" ,"Create "+if(unique,"UNIQUE ","")+
  1453. if(desc,"DESCENDING ","")
  1454. +"Index %Indexname%  on table %tablestorage%%tablename% ( %IndexExpr% ) "
  1455. +if(IndexFilterExist,"FOR (%IndexFilter%)","")
  1456. +showmessage("Create index %indexname% for table %tablename%")+"%cr%" ,"",cr+cr)
  1457. ]]></VALUE>
  1458. <LANGUAGE>0</LANGUAGE>
  1459. <CATEGORY>0</CATEGORY>
  1460. </TEMPLATE>
  1461. <TEMPLATE>
  1462. <NAME>CREATEATRIB</NAME>
  1463. <ID>228</ID>
  1464. <GUID>{B200E93D-3255-11D4-8604-00C026D00180}</GUID>
  1465. <ENABLED>1</ENABLED>
  1466. <LEVEL>0</LEVEL>
  1467. <IDPARENT>0</IDPARENT>
  1468. <VALUE><![CDATA[ColName + " " + 
  1469. if(type="Character",Type + " ("+length+",0)",if(type="Numeric",Type+" ("+length+","+decimal+")",if(type="Date","Date (8,0)",if(type="Logical","Logical (1,0)","Memo (10,0)"))))
  1470. ]]></VALUE>
  1471. <LANGUAGE>0</LANGUAGE>
  1472. <CATEGORY>0</CATEGORY>
  1473. </TEMPLATE>
  1474. <TEMPLATE>
  1475. <NAME>dropindexs</NAME>
  1476. <ID>234</ID>
  1477. <GUID>{B200E93E-3255-11D4-8604-00C026D00180}</GUID>
  1478. <ENABLED>1</ENABLED>
  1479. <LEVEL>0</LEVEL>
  1480. <IDPARENT>0</IDPARENT>
  1481. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname% on table %tablestorage%%tablename% %cr%", "", "" ),"","")
  1482. ]]></VALUE>
  1483. <LANGUAGE>0</LANGUAGE>
  1484. <CATEGORY>0</CATEGORY>
  1485. </TEMPLATE>
  1486. </TEMPLATES>
  1487. <VARIABLES><![CDATA[lDriParUpdRestrict 0
  1488. lDriParUpdCascade 0
  1489. lDriParUpdSetNull 0
  1490. lDriParUpdSetDefault 0
  1491. lDriParDelRestrict 0
  1492. lDriParDelCascade 0
  1493. lDriParDelSetNull 0
  1494. lDriParDelSetDefault 0
  1495. lDriChildInsRestrict 0
  1496. lDriChildUpdRestrict 0
  1497. lDriParUpdRestrictSupp 0
  1498. lDriParUpdCascadeSupp 0
  1499. lDriParUpdSetNullSupp 0
  1500. lDriParUpdSetDefaultSupp 0
  1501. lDriParDelRestrictSupp 0
  1502. lDriParDelCascadeSupp 0
  1503. lDriParDelSetNullSupp 0
  1504. lDriParDelSetDefaultSupp 0
  1505. lDriChildInsRestrictSupp 0
  1506. lDriChildUpdRestrictSupp 0
  1507. lIndexDescendSupp 1
  1508. lIndexItDescendSupp 0
  1509. lIndexUpperSupp 0
  1510. lIndexExprSupp 1
  1511. lIndexUniqueSupp 1
  1512. lIndexFilterSupp 1
  1513. lIndexStandSupp 0
  1514. lIndexClusterSupp 0
  1515. lIndexNameUnique 0
  1516. lPkSupp 1
  1517. lPkNotNull 0
  1518. lDRISupp 0
  1519. lTriggerSupp 0
  1520. lAtrUniqueSupp 0
  1521. lAtrNotNullSupp 0
  1522. lAtrCheckSupp 0
  1523. lAtrDefaultSupp 0
  1524. ]]></VARIABLES>
  1525. <USEREDITS>
  1526. </USEREDITS>
  1527. <TYPELIST>
  1528. <TYPE>
  1529. <NAME>Character</NAME>
  1530. <ID>5</ID>
  1531. <GUID>{B200E933-3255-11D4-8604-00C026D00180}</GUID>
  1532. <PHNAME>Character</PHNAME>
  1533. <LLENGTH>1</LLENGTH>
  1534. <LDECIMAL>0</LDECIMAL>
  1535. <MAXLENGTH>1024</MAXLENGTH>
  1536. <MINLENGTH>1</MINLENGTH>
  1537. <MAXDECIMAL>0</MAXDECIMAL>
  1538. <MINDECIMAL>0</MINDECIMAL>
  1539. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  1540. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1541. <TRANSFORMCODE>A</TRANSFORMCODE>
  1542. <TRANSFORMTO>VA;LA;LVA;</TRANSFORMTO>
  1543. <EXPORTTO>0</EXPORTTO>
  1544. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1545. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1546. <ODBCTYPE>0</ODBCTYPE>
  1547. <BDETYPE>0</BDETYPE>
  1548. </TYPE>
  1549. <TYPE>
  1550. <NAME>Numeric</NAME>
  1551. <ID>10</ID>
  1552. <GUID>{B200E934-3255-11D4-8604-00C026D00180}</GUID>
  1553. <PHNAME>Numeric</PHNAME>
  1554. <LLENGTH>1</LLENGTH>
  1555. <LDECIMAL>1</LDECIMAL>
  1556. <MAXLENGTH>19</MAXLENGTH>
  1557. <MINLENGTH>1</MINLENGTH>
  1558. <MAXDECIMAL>15</MAXDECIMAL>
  1559. <MINDECIMAL>0</MINDECIMAL>
  1560. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  1561. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1562. <TRANSFORMCODE>N</TRANSFORMCODE>
  1563. <TRANSFORMTO>DC;F;</TRANSFORMTO>
  1564. <EXPORTTO>0</EXPORTTO>
  1565. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1566. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1567. <ODBCTYPE>0</ODBCTYPE>
  1568. <BDETYPE>0</BDETYPE>
  1569. </TYPE>
  1570. <TYPE>
  1571. <NAME>Date</NAME>
  1572. <ID>20</ID>
  1573. <GUID>{B200E935-3255-11D4-8604-00C026D00180}</GUID>
  1574. <PHNAME>Date</PHNAME>
  1575. <LLENGTH>0</LLENGTH>
  1576. <LDECIMAL>0</LDECIMAL>
  1577. <MAXLENGTH>8</MAXLENGTH>
  1578. <MINLENGTH>8</MINLENGTH>
  1579. <MAXDECIMAL>0</MAXDECIMAL>
  1580. <MINDECIMAL>0</MINDECIMAL>
  1581. <DEFAULTLENGTH>8</DEFAULTLENGTH>
  1582. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1583. <TRANSFORMCODE></TRANSFORMCODE>
  1584. <TRANSFORMTO></TRANSFORMTO>
  1585. <EXPORTTO>0</EXPORTTO>
  1586. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1587. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1588. <ODBCTYPE>0</ODBCTYPE>
  1589. <BDETYPE>0</BDETYPE>
  1590. </TYPE>
  1591. <TYPE>
  1592. <NAME>Logical</NAME>
  1593. <ID>30</ID>
  1594. <GUID>{B200E936-3255-11D4-8604-00C026D00180}</GUID>
  1595. <PHNAME>Logical</PHNAME>
  1596. <LLENGTH>0</LLENGTH>
  1597. <LDECIMAL>0</LDECIMAL>
  1598. <MAXLENGTH>1</MAXLENGTH>
  1599. <MINLENGTH>1</MINLENGTH>
  1600. <MAXDECIMAL>0</MAXDECIMAL>
  1601. <MINDECIMAL>0</MINDECIMAL>
  1602. <DEFAULTLENGTH>1</DEFAULTLENGTH>
  1603. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1604. <TRANSFORMCODE></TRANSFORMCODE>
  1605. <TRANSFORMTO></TRANSFORMTO>
  1606. <EXPORTTO>0</EXPORTTO>
  1607. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1608. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1609. <ODBCTYPE>0</ODBCTYPE>
  1610. <BDETYPE>0</BDETYPE>
  1611. </TYPE>
  1612. <TYPE>
  1613. <NAME>Memo</NAME>
  1614. <ID>50</ID>
  1615. <GUID>{B200E937-3255-11D4-8604-00C026D00180}</GUID>
  1616. <PHNAME>Memo</PHNAME>
  1617. <LLENGTH>0</LLENGTH>
  1618. <LDECIMAL>0</LDECIMAL>
  1619. <MAXLENGTH>10</MAXLENGTH>
  1620. <MINLENGTH>10</MINLENGTH>
  1621. <MAXDECIMAL>0</MAXDECIMAL>
  1622. <MINDECIMAL>0</MINDECIMAL>
  1623. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  1624. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  1625. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  1626. <TRANSFORMTO>BLOB;BIN;</TRANSFORMTO>
  1627. <EXPORTTO>0</EXPORTTO>
  1628. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  1629. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  1630. <ODBCTYPE>0</ODBCTYPE>
  1631. <BDETYPE>0</BDETYPE>
  1632. </TYPE>
  1633. </TYPELIST>
  1634. <MAXLENGTHTABLENAME>8</MAXLENGTHTABLENAME>
  1635. <MAXLENGTHCOLNAME>10</MAXLENGTHCOLNAME>
  1636. <MAXLENGTHINDEXNAME>8</MAXLENGTHINDEXNAME>
  1637. <DEFAULTCHAR>_</DEFAULTCHAR>
  1638. <INVALIDCHARACTERS> !"#$%&'()*+,-./:;<=>?@[\]^`{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ </INVALIDCHARACTERS>
  1639. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  1640. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  1641. <DEFAULTTYPEID>5</DEFAULTTYPEID>
  1642. </SERVER>
  1643. <SERVER>
  1644. <NAME>Oracle 8</NAME>
  1645. <ID>30</ID>
  1646. <GUID>{B200E93F-3255-11D4-8604-00C026D00180}</GUID>
  1647. <TEMPLATES>
  1648. <TEMPLATE>
  1649. <NAME>CreateTable</NAME>
  1650. <ID>66</ID>
  1651. <GUID>{B200E954-3255-11D4-8604-00C026D00180}</GUID>
  1652. <ENABLED>1</ENABLED>
  1653. <LEVEL>0</LEVEL>
  1654. <IDPARENT>0</IDPARENT>
  1655. <VALUE><![CDATA[cr+
  1656. "Create table %tablename% ("+
  1657. forcol("", "", cr+tb+"%ColName% %typsql%"+ if(defexist," %defvalue%", "")+
  1658. if(defaultexist," Default "+defaultvalue  ,"")+
  1659. if(notnull," NOT NULL","")+
  1660. if(UniqueAtr,if(not Empty(ConstraintAtrUnique)," Constraint %ConstraintAtrUnique%","")+" UNIQUE ", "")+
  1661. if(constraintExist and CheckExist, " Constraint %constraint%","")+
  1662. if(checkexist," Check ("+ evalcheck+" )","")+
  1663. if(def2exist," %def2value%", "") , ",", "")+
  1664. if(existpk and lPkGener, ",%cr%"+if(lPkAsConstraint and (not Empty(ConstraintPkName)),"Constraint %ConstraintPkName% ","")+"Primary Key ("+forpkcol("", "", ColName, ",", ")"+cr) , cr )+
  1665. ") "+TableStorage+" ;"+cr+showmessage("Table %tablename%")
  1666. ]]></VALUE>
  1667. <LANGUAGE>0</LANGUAGE>
  1668. <CATEGORY>0</CATEGORY>
  1669. </TEMPLATE>
  1670. <TEMPLATE>
  1671. <NAME>CreateIndex</NAME>
  1672. <ID>68</ID>
  1673. <GUID>{B200E955-3255-11D4-8604-00C026D00180}</GUID>
  1674. <ENABLED>1</ENABLED>
  1675. <LEVEL>0</LEVEL>
  1676. <IDPARENT>0</IDPARENT>
  1677. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  1678. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname+if(IndexColDesc," Desc",""),",",") ")+
  1679. IndexStorage+" ;"+cr+ShowMessage("Index %Indexname% for table %tablename%")
  1680. ]]></VALUE>
  1681. <LANGUAGE>0</LANGUAGE>
  1682. <CATEGORY>0</CATEGORY>
  1683. </TEMPLATE>
  1684. <TEMPLATE>
  1685. <NAME>CreateTriggerUpdate</NAME>
  1686. <ID>118</ID>
  1687. <GUID>{B200E956-3255-11D4-8604-00C026D00180}</GUID>
  1688. <ENABLED>1</ENABLED>
  1689. <LEVEL>0</LEVEL>
  1690. <IDPARENT>0</IDPARENT>
  1691. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  1692. /* Update trigger for %tablename% */
  1693.  
  1694. CREATE Trigger tu_%tablename% after update   
  1695. of @forPFkCol("", "", colname, ",", "" )
  1696. on  %tablename% @showmessage("Trigger for %tablename% ")
  1697. referencing new as new_upd old as old_upd for each row
  1698. declare numrows integer;
  1699. begin
  1700.      @forchild( "", "", template(triggerparentupdate), "", "" ) 
  1701.      @forparent("", "", template(triggerchildupdate), "", "" )
  1702. end;
  1703. /
  1704. ]]></VALUE>
  1705. <LANGUAGE>0</LANGUAGE>
  1706. <CATEGORY>0</CATEGORY>
  1707. </TEMPLATE>
  1708. <TEMPLATE>
  1709. <NAME>CreateTriggerInsert</NAME>
  1710. <ID>119</ID>
  1711. <GUID>{B200E957-3255-11D4-8604-00C026D00180}</GUID>
  1712. <ENABLED>1</ENABLED>
  1713. <LEVEL>0</LEVEL>
  1714. <IDPARENT>0</IDPARENT>
  1715. <VALUE><![CDATA[{lEntChildInsTrig  }
  1716. /* Insert trigger for %tablename% */
  1717.  
  1718. CREATE Trigger ti_%tablename% after insert
  1719. on %tablename% @showmessage("Trigger for %tablename% ")
  1720.  
  1721. referencing new as new_ins for each row
  1722. declare numrows integer;
  1723. begin
  1724. @forparent("", "", template(TriggerParentInsert), "", "")
  1725. end;
  1726. /
  1727. ]]></VALUE>
  1728. <LANGUAGE>0</LANGUAGE>
  1729. <CATEGORY>0</CATEGORY>
  1730. </TEMPLATE>
  1731. <TEMPLATE>
  1732. <NAME>CreateTriggerDelete</NAME>
  1733. <ID>120</ID>
  1734. <GUID>{B200E958-3255-11D4-8604-00C026D00180}</GUID>
  1735. <ENABLED>1</ENABLED>
  1736. <LEVEL>0</LEVEL>
  1737. <IDPARENT>0</IDPARENT>
  1738. <VALUE><![CDATA[{lEntParDelTrig}
  1739. /* Insert trigger for %tablename% */
  1740.  
  1741. CREATE Trigger td_%tablename% after delete 
  1742. on %tablename% @showmessage("Trigger for %tablename% ")
  1743.  
  1744. referencing old as old_del for each row
  1745. declare numrows integer;
  1746. begin
  1747. @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  1748. end;
  1749. /
  1750. ]]></VALUE>
  1751. <LANGUAGE>0</LANGUAGE>
  1752. <CATEGORY>0</CATEGORY>
  1753. </TEMPLATE>
  1754. <TEMPLATE>
  1755. <NAME>TriggerParentUpdate</NAME>
  1756. <ID>121</ID>
  1757. <GUID>{B200E959-3255-11D4-8604-00C026D00180}</GUID>
  1758. <ENABLED>1</ENABLED>
  1759. <LEVEL>0</LEVEL>
  1760. <IDPARENT>0</IDPARENT>
  1761. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  1762. /* cascade child %childtablename% update when parent %parenttablename% changed */
  1763. if @forrelpk( "(", tb , ":old_upd.%PkParentName% != :new_upd.%PkParentName%", " OR %cr%", ") " ) then
  1764.     begin
  1765.     update %childtablename%
  1766.     set @ForRelPk( tb , tb , "%PkChildName% = :new_upd.%PkParentName%" , ",%cr%" , "")
  1767.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = :old_upd.%PkParentName%" , " AND %cr%", "") ;
  1768.     end;
  1769. end if;
  1770.  
  1771. {ParUpdSetNULL and (not lRelParUpdSetnullDekl)} 
  1772. /* cascade setnull when parent changed */
  1773. if @forrelpk( "(", tb , ":old_upd.%PkParentName% != :new_upd.%PkParentName%", " OR %cr%", ") " ) then
  1774.     begin
  1775.     update %childtablename%
  1776.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  1777.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = :old_upd.%PkParentName%" , " AND "+cr, "");
  1778.     end;
  1779. end if;
  1780.  
  1781. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  1782. /* cascade setdefault when parent changed */
  1783. if @forrelpk( "(", tb , ":old_upd.%PkParentName% != :new_upd.%PkParentName%", " OR %cr%", ") " ) then
  1784.     begin
  1785.     update %childtablename%
  1786.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  1787.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = :old_upd.%PkParentName%" , " AND "+cr, "");
  1788.     end;
  1789. end if;
  1790.  
  1791. {ParUpdRestrict and (not lRelParUpdRestDekl)} 
  1792. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  1793. if @forrelpk( "(", tb , ":old_upd.%PkParentName% != :new_upd.%PkParentName%", " OR %cr%", ") " ) then
  1794.     begin
  1795.     select count( * ) 
  1796.     into numrows
  1797.     from %childtablename%
  1798.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = :old_upd.%PkParentName%", " AND "+cr+tb+tb, "" );
  1799.  
  1800.     if ( numrows > 0 ) then
  1801.         begin
  1802.         RAISE_APPLICATION_ERROR(-20001,'Children still exist in child table.');
  1803.         end;
  1804.     end if;
  1805.     end;
  1806. end if;
  1807.  
  1808. ]]></VALUE>
  1809. <LANGUAGE>0</LANGUAGE>
  1810. <CATEGORY>0</CATEGORY>
  1811. </TEMPLATE>
  1812. <TEMPLATE>
  1813. <NAME>TriggerChildUpdate</NAME>
  1814. <ID>122</ID>
  1815. <GUID>{B200E95A-3255-11D4-8604-00C026D00180}</GUID>
  1816. <ENABLED>1</ENABLED>
  1817. <LEVEL>0</LEVEL>
  1818. <IDPARENT>0</IDPARENT>
  1819. <VALUE><![CDATA[{(not lRelChildUpdRestDekl) and ChildUpdRestrict }
  1820. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  1821. IF @forrelpk( "", "", ":new_upd.%PkChildName% !=  :old_upd.%PkChildName%", " OR "+cr+tb+tb, "" ) then
  1822.     begin
  1823.     select count( * ) 
  1824.     into numrows
  1825.     from %ParentTableName%
  1826.     where     @forrelpk( "", "", ":new_upd.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" );
  1827.     if ( numrows = 0 ) then
  1828.         begin
  1829.         RAISE_APPLICATION_ERROR(-20002,'Parent does not exist. Cannot update child.');
  1830.         end;
  1831.     end if;
  1832.     end;
  1833. end if;
  1834. ]]></VALUE>
  1835. <LANGUAGE>0</LANGUAGE>
  1836. <CATEGORY>0</CATEGORY>
  1837. </TEMPLATE>
  1838. <TEMPLATE>
  1839. <NAME>TriggerParentDelete</NAME>
  1840. <ID>123</ID>
  1841. <GUID>{B200E95B-3255-11D4-8604-00C026D00180}</GUID>
  1842. <ENABLED>1</ENABLED>
  1843. <LEVEL>0</LEVEL>
  1844. <IDPARENT>0</IDPARENT>
  1845. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  1846. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  1847.  
  1848.     delete from %childtablename%
  1849.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = :old_del.%PkParentName%" , " AND %cr%", "");
  1850.  
  1851.  
  1852. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  1853. /* cascade setnull when parent deleted */
  1854.  
  1855.     update %childtablename%
  1856.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  1857.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = :old_del.%PkParentName%" , " AND "+cr, "");
  1858.  
  1859.  
  1860. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  1861. /* cascade setdefault when parent deleted */
  1862.  
  1863.     update %childtablename%
  1864.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  1865.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = :old_del.%PkParentName%" , " AND "+cr, "");
  1866.  
  1867.  
  1868.  
  1869. {ParDelRestrict and (not lParDelRestDekl)} 
  1870. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  1871.  
  1872.     select count( * ) 
  1873.     into numrows
  1874.     from %childtablename%
  1875.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% =  :old_del.%PkParentName%", " AND "+cr+tb+tb, "" );
  1876.     
  1877.     IF ( numrows > 0 ) then
  1878.         begin
  1879.         RAISE_APPLICATION_ERROR(-20003,'Children still exist in child table. Cannot delete parent');
  1880.         end;
  1881.     end if;
  1882. ]]></VALUE>
  1883. <LANGUAGE>0</LANGUAGE>
  1884. <CATEGORY>0</CATEGORY>
  1885. </TEMPLATE>
  1886. <TEMPLATE>
  1887. <NAME>TriggerParentInsert</NAME>
  1888. <ID>124</ID>
  1889. <GUID>{B200E95C-3255-11D4-8604-00C026D00180}</GUID>
  1890. <ENABLED>1</ENABLED>
  1891. <LEVEL>0</LEVEL>
  1892. <IDPARENT>0</IDPARENT>
  1893. <VALUE><![CDATA[/* restrict child %childtablename% when parent %parenttablename% insert */
  1894.  
  1895. if @forrelpk( "(", tb, ":new_ins.%pkchildname% is not null", " AND %cr%", ")" ) then
  1896.      begin
  1897.     select count( * ) 
  1898.     into numrows
  1899.     from %ParentTableName%
  1900.     where     @forrelpk( "", "", ":new_ins.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" );
  1901.     
  1902.     IF ( numrows = 0 ) then
  1903.         begin
  1904.         RAISE_APPLICATION_ERROR(-20004,'Parent does not exist. Cannot insert child.');
  1905.         end;
  1906.     end if;
  1907.     end;
  1908. end if;
  1909. ]]></VALUE>
  1910. <LANGUAGE>0</LANGUAGE>
  1911. <CATEGORY>0</CATEGORY>
  1912. </TEMPLATE>
  1913. <TEMPLATE>
  1914. <NAME>RefIntegrity</NAME>
  1915. <ID>126</ID>
  1916. <GUID>{B200E95D-3255-11D4-8604-00C026D00180}</GUID>
  1917. <ENABLED>1</ENABLED>
  1918. <LEVEL>0</LEVEL>
  1919. <IDPARENT>0</IDPARENT>
  1920. <VALUE><![CDATA[{lRelParUpdDekl or lRelParDelDekl}
  1921. alter table %childtablename% add @if(lFkAsConstraint and  (not empty(fRelName)),"Constraint %frelname%","")  foreign key(%childkeys%) references %parenttablename% (%parentkeys%) @macro(refintegrity2);
  1922. ]]></VALUE>
  1923. <LANGUAGE>0</LANGUAGE>
  1924. <CATEGORY>0</CATEGORY>
  1925. </TEMPLATE>
  1926. <TEMPLATE>
  1927. <NAME>RefIntegrity2</NAME>
  1928. <ID>127</ID>
  1929. <GUID>{B200E95E-3255-11D4-8604-00C026D00180}</GUID>
  1930. <ENABLED>1</ENABLED>
  1931. <LEVEL>0</LEVEL>
  1932. <IDPARENT>0</IDPARENT>
  1933. <VALUE><![CDATA[if(lRelParDelCascDekl , " on delete cascade" , "")
  1934. ]]></VALUE>
  1935. <LANGUAGE>0</LANGUAGE>
  1936. <CATEGORY>0</CATEGORY>
  1937. </TEMPLATE>
  1938. <TEMPLATE>
  1939. <NAME>DropIndexs</NAME>
  1940. <ID>128</ID>
  1941. <GUID>{B200E95F-3255-11D4-8604-00C026D00180}</GUID>
  1942. <ENABLED>1</ENABLED>
  1943. <LEVEL>0</LEVEL>
  1944. <IDPARENT>0</IDPARENT>
  1945. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname%;%cr%", "", "" ),"","")
  1946. ]]></VALUE>
  1947. <LANGUAGE>0</LANGUAGE>
  1948. <CATEGORY>0</CATEGORY>
  1949. </TEMPLATE>
  1950. <TEMPLATE>
  1951. <NAME>DropTables</NAME>
  1952. <ID>130</ID>
  1953. <GUID>{B200E960-3255-11D4-8604-00C026D00180}</GUID>
  1954. <ENABLED>1</ENABLED>
  1955. <LEVEL>0</LEVEL>
  1956. <IDPARENT>0</IDPARENT>
  1957. <VALUE><![CDATA[@ForTable("%cr%", "", "Drop table %tablename%;%cr%", "", "" )
  1958. ]]></VALUE>
  1959. <LANGUAGE>0</LANGUAGE>
  1960. <CATEGORY>0</CATEGORY>
  1961. </TEMPLATE>
  1962. <TEMPLATE>
  1963. <NAME>DropTriggerUpdate</NAME>
  1964. <ID>266</ID>
  1965. <GUID>{B200E961-3255-11D4-8604-00C026D00180}</GUID>
  1966. <ENABLED>1</ENABLED>
  1967. <LEVEL>0</LEVEL>
  1968. <IDPARENT>0</IDPARENT>
  1969. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  1970. drop trigger tu_%tablename%;
  1971. ]]></VALUE>
  1972. <LANGUAGE>0</LANGUAGE>
  1973. <CATEGORY>0</CATEGORY>
  1974. </TEMPLATE>
  1975. <TEMPLATE>
  1976. <NAME>DropTriggerDelete</NAME>
  1977. <ID>267</ID>
  1978. <GUID>{B200E962-3255-11D4-8604-00C026D00180}</GUID>
  1979. <ENABLED>1</ENABLED>
  1980. <LEVEL>0</LEVEL>
  1981. <IDPARENT>0</IDPARENT>
  1982. <VALUE><![CDATA[{lEntParDelTrig}
  1983. drop trigger td_%tablename%;
  1984. ]]></VALUE>
  1985. <LANGUAGE>0</LANGUAGE>
  1986. <CATEGORY>0</CATEGORY>
  1987. </TEMPLATE>
  1988. <TEMPLATE>
  1989. <NAME>DropTriggerInsert</NAME>
  1990. <ID>268</ID>
  1991. <GUID>{B200E963-3255-11D4-8604-00C026D00180}</GUID>
  1992. <ENABLED>1</ENABLED>
  1993. <LEVEL>0</LEVEL>
  1994. <IDPARENT>0</IDPARENT>
  1995. <VALUE><![CDATA[{lEntChildInsTrig  }
  1996. drop trigger ti_%tablename%;
  1997. ]]></VALUE>
  1998. <LANGUAGE>0</LANGUAGE>
  1999. <CATEGORY>0</CATEGORY>
  2000. </TEMPLATE>
  2001. <TEMPLATE>
  2002. <NAME>CreateAlterKey</NAME>
  2003. <ID>269</ID>
  2004. <GUID>{B200E964-3255-11D4-8604-00C026D00180}</GUID>
  2005. <ENABLED>1</ENABLED>
  2006. <LEVEL>0</LEVEL>
  2007. <IDPARENT>0</IDPARENT>
  2008. <VALUE><![CDATA[@foralterkey("","","alter table %tablename% add constraint %AlterKeyConstraintName% unique (%AlterKeyKeys%);","","")
  2009. ]]></VALUE>
  2010. <LANGUAGE>0</LANGUAGE>
  2011. <CATEGORY>0</CATEGORY>
  2012. </TEMPLATE>
  2013. <TEMPLATE>
  2014. <NAME>DropRefIntegrity</NAME>
  2015. <ID>270</ID>
  2016. <GUID>{B200E965-3255-11D4-8604-00C026D00180}</GUID>
  2017. <ENABLED>1</ENABLED>
  2018. <LEVEL>0</LEVEL>
  2019. <IDPARENT>0</IDPARENT>
  2020. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  2021. alter table %childtablename% drop constraint %frelname%;
  2022. ]]></VALUE>
  2023. <LANGUAGE>0</LANGUAGE>
  2024. <CATEGORY>0</CATEGORY>
  2025. </TEMPLATE>
  2026. </TEMPLATES>
  2027. <VARIABLES><![CDATA[ldomainSupp  0
  2028. lAtrCheckConstraintSupp 1
  2029. lAlterKeySupp 1
  2030. lProceduresSupp 1
  2031. lViewsSupp 1
  2032. lConstraintPkSupp 1
  2033. lConstraintFkSupp 1
  2034. lAtrUniqueConstraintSupp 1
  2035. lPermissUserToRoleSupp 1
  2036. lPermissUserToObjectSupp 1
  2037. lPermissRoleToObjectSupp 1
  2038. lRoleSupp 1
  2039. lDriParUpdRestrict 1
  2040. lDriParUpdCascade 0
  2041. lDriParUpdSetNull 0
  2042. lDriParUpdSetDefault 0
  2043. lDriParDelRestrict 1
  2044. lDriParDelCascade 1
  2045. lDriParDelSetNull 0
  2046. lDriParDelSetDefault 0
  2047. lDriChildInsRestrict 0
  2048. lDriChildUpdRestrict 0
  2049. lDriParUpdRestrictSupp 1
  2050. lDriParUpdCascadeSupp 0
  2051. lDriParUpdSetNullSupp 0
  2052. lDriParUpdSetDefaultSupp 0
  2053. lDriParDelRestrictSupp 1
  2054. lDriParDelCascadeSupp 1
  2055. lDriParDelSetNullSupp 0
  2056. lDriParDelSetDefaultSupp 0
  2057. lDriChildInsRestrictSupp 0
  2058. lDriChildUpdRestrictSupp 0
  2059. lIndexDescendSupp 0
  2060. lIndexItDescendSupp 1
  2061. lIndexUpperSupp 0
  2062. lIndexExprSupp 0
  2063. lIndexUniqueSupp 1
  2064. lIndexFilterSupp 0
  2065. lIndexStandSupp 1
  2066. lIndexClusterSupp 0
  2067. lIndexNameUnique 1
  2068. lPkSupp 1
  2069. lPkNotNull 1
  2070. lDRISupp 1
  2071. lTriggerSupp 1
  2072. lAtrUniqueSupp 1
  2073. lAtrNotNullSupp 1
  2074. lAtrCheckSupp 1
  2075. lAtrDefaultSupp 1
  2076. ldomainSupp  0
  2077. lAtrCheckConstraintSupp 1
  2078. lAlterKeySupp 1
  2079. lProceduresSupp 1
  2080. lViewsSupp 1
  2081. lConstraintPkSupp 1
  2082. lConstraintFkSupp 1
  2083. lAtrUniqueConstraintSupp 1
  2084. lPermissUserToRoleSupp 1
  2085. lPermissUserToObjectSupp 1
  2086. lPermissRoleToObjectSupp 1
  2087. lRoleSupp 1
  2088. ]]></VARIABLES>
  2089. <USEREDITS>
  2090. </USEREDITS>
  2091. <TYPELIST>
  2092. <TYPE>
  2093. <NAME>Char</NAME>
  2094. <ID>10</ID>
  2095. <GUID>{B200E940-3255-11D4-8604-00C026D00180}</GUID>
  2096. <PHNAME>Char</PHNAME>
  2097. <LLENGTH>1</LLENGTH>
  2098. <LDECIMAL>0</LDECIMAL>
  2099. <MAXLENGTH>2000</MAXLENGTH>
  2100. <MINLENGTH>1</MINLENGTH>
  2101. <MAXDECIMAL>0</MAXDECIMAL>
  2102. <MINDECIMAL>0</MINDECIMAL>
  2103. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  2104. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2105. <TRANSFORMCODE>A</TRANSFORMCODE>
  2106. <TRANSFORMTO>LA;VA;LVA;</TRANSFORMTO>
  2107. <EXPORTTO>0</EXPORTTO>
  2108. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2109. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2110. <ODBCTYPE>0</ODBCTYPE>
  2111. <BDETYPE>0</BDETYPE>
  2112. </TYPE>
  2113. <TYPE>
  2114. <NAME>Varchar2</NAME>
  2115. <ID>20</ID>
  2116. <GUID>{B200E941-3255-11D4-8604-00C026D00180}</GUID>
  2117. <PHNAME>Varchar2</PHNAME>
  2118. <LLENGTH>1</LLENGTH>
  2119. <LDECIMAL>0</LDECIMAL>
  2120. <MAXLENGTH>4000</MAXLENGTH>
  2121. <MINLENGTH>1</MINLENGTH>
  2122. <MAXDECIMAL>0</MAXDECIMAL>
  2123. <MINDECIMAL>0</MINDECIMAL>
  2124. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  2125. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2126. <TRANSFORMCODE>VA</TRANSFORMCODE>
  2127. <TRANSFORMTO>LVA;A;LA;</TRANSFORMTO>
  2128. <EXPORTTO>0</EXPORTTO>
  2129. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2130. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2131. <ODBCTYPE>0</ODBCTYPE>
  2132. <BDETYPE>0</BDETYPE>
  2133. </TYPE>
  2134. <TYPE>
  2135. <NAME>Number(x.y)</NAME>
  2136. <ID>40</ID>
  2137. <GUID>{B200E942-3255-11D4-8604-00C026D00180}</GUID>
  2138. <PHNAME>Number</PHNAME>
  2139. <LLENGTH>1</LLENGTH>
  2140. <LDECIMAL>1</LDECIMAL>
  2141. <MAXLENGTH>38</MAXLENGTH>
  2142. <MINLENGTH>1</MINLENGTH>
  2143. <MAXDECIMAL>127</MAXDECIMAL>
  2144. <MINDECIMAL>-84</MINDECIMAL>
  2145. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  2146. <DEFAULTDECIMAL>5</DEFAULTDECIMAL>
  2147. <TRANSFORMCODE>N</TRANSFORMCODE>
  2148. <TRANSFORMTO>DC;F;</TRANSFORMTO>
  2149. <EXPORTTO>0</EXPORTTO>
  2150. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2151. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2152. <ODBCTYPE>0</ODBCTYPE>
  2153. <BDETYPE>0</BDETYPE>
  2154. </TYPE>
  2155. <TYPE>
  2156. <NAME>Number</NAME>
  2157. <ID>42</ID>
  2158. <GUID>{B200E943-3255-11D4-8604-00C026D00180}</GUID>
  2159. <PHNAME>Number</PHNAME>
  2160. <LLENGTH>0</LLENGTH>
  2161. <LDECIMAL>0</LDECIMAL>
  2162. <MAXLENGTH>0</MAXLENGTH>
  2163. <MINLENGTH>0</MINLENGTH>
  2164. <MAXDECIMAL>0</MAXDECIMAL>
  2165. <MINDECIMAL>0</MINDECIMAL>
  2166. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2167. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2168. <TRANSFORMCODE></TRANSFORMCODE>
  2169. <TRANSFORMTO>DC;F;</TRANSFORMTO>
  2170. <EXPORTTO>0</EXPORTTO>
  2171. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2172. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2173. <ODBCTYPE>0</ODBCTYPE>
  2174. <BDETYPE>0</BDETYPE>
  2175. </TYPE>
  2176. <TYPE>
  2177. <NAME>Decimal</NAME>
  2178. <ID>50</ID>
  2179. <GUID>{B200E944-3255-11D4-8604-00C026D00180}</GUID>
  2180. <PHNAME>Decimal</PHNAME>
  2181. <LLENGTH>1</LLENGTH>
  2182. <LDECIMAL>1</LDECIMAL>
  2183. <MAXLENGTH>38</MAXLENGTH>
  2184. <MINLENGTH>1</MINLENGTH>
  2185. <MAXDECIMAL>127</MAXDECIMAL>
  2186. <MINDECIMAL>-84</MINDECIMAL>
  2187. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  2188. <DEFAULTDECIMAL>5</DEFAULTDECIMAL>
  2189. <TRANSFORMCODE>DC</TRANSFORMCODE>
  2190. <TRANSFORMTO>N;F;</TRANSFORMTO>
  2191. <EXPORTTO>0</EXPORTTO>
  2192. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2193. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2194. <ODBCTYPE>0</ODBCTYPE>
  2195. <BDETYPE>0</BDETYPE>
  2196. </TYPE>
  2197. <TYPE>
  2198. <NAME>Integer</NAME>
  2199. <ID>60</ID>
  2200. <GUID>{B200E945-3255-11D4-8604-00C026D00180}</GUID>
  2201. <PHNAME>Integer</PHNAME>
  2202. <LLENGTH>0</LLENGTH>
  2203. <LDECIMAL>0</LDECIMAL>
  2204. <MAXLENGTH>0</MAXLENGTH>
  2205. <MINLENGTH>0</MINLENGTH>
  2206. <MAXDECIMAL>0</MAXDECIMAL>
  2207. <MINDECIMAL>0</MINDECIMAL>
  2208. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2209. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2210. <TRANSFORMCODE>I</TRANSFORMCODE>
  2211. <TRANSFORMTO>LI;N,10,0;</TRANSFORMTO>
  2212. <EXPORTTO>0</EXPORTTO>
  2213. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2214. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2215. <ODBCTYPE>0</ODBCTYPE>
  2216. <BDETYPE>0</BDETYPE>
  2217. </TYPE>
  2218. <TYPE>
  2219. <NAME>Smallint</NAME>
  2220. <ID>70</ID>
  2221. <GUID>{B200E946-3255-11D4-8604-00C026D00180}</GUID>
  2222. <PHNAME>Smallint</PHNAME>
  2223. <LLENGTH>0</LLENGTH>
  2224. <LDECIMAL>0</LDECIMAL>
  2225. <MAXLENGTH>0</MAXLENGTH>
  2226. <MINLENGTH>0</MINLENGTH>
  2227. <MAXDECIMAL>0</MAXDECIMAL>
  2228. <MINDECIMAL>0</MINDECIMAL>
  2229. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2230. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2231. <TRANSFORMCODE>SI</TRANSFORMCODE>
  2232. <TRANSFORMTO>I;LI;</TRANSFORMTO>
  2233. <EXPORTTO>0</EXPORTTO>
  2234. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2235. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2236. <ODBCTYPE>0</ODBCTYPE>
  2237. <BDETYPE>0</BDETYPE>
  2238. </TYPE>
  2239. <TYPE>
  2240. <NAME>Real</NAME>
  2241. <ID>80</ID>
  2242. <GUID>{B200E947-3255-11D4-8604-00C026D00180}</GUID>
  2243. <PHNAME>Real</PHNAME>
  2244. <LLENGTH>0</LLENGTH>
  2245. <LDECIMAL>0</LDECIMAL>
  2246. <MAXLENGTH>0</MAXLENGTH>
  2247. <MINLENGTH>0</MINLENGTH>
  2248. <MAXDECIMAL>0</MAXDECIMAL>
  2249. <MINDECIMAL>0</MINDECIMAL>
  2250. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2251. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2252. <TRANSFORMCODE>F</TRANSFORMCODE>
  2253. <TRANSFORMTO>LF;N,15,5;DC,15,5;</TRANSFORMTO>
  2254. <EXPORTTO>0</EXPORTTO>
  2255. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2256. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2257. <ODBCTYPE>0</ODBCTYPE>
  2258. <BDETYPE>0</BDETYPE>
  2259. </TYPE>
  2260. <TYPE>
  2261. <NAME>Double precision</NAME>
  2262. <ID>90</ID>
  2263. <GUID>{B200E948-3255-11D4-8604-00C026D00180}</GUID>
  2264. <PHNAME>Double precision</PHNAME>
  2265. <LLENGTH>0</LLENGTH>
  2266. <LDECIMAL>0</LDECIMAL>
  2267. <MAXLENGTH>0</MAXLENGTH>
  2268. <MINLENGTH>0</MINLENGTH>
  2269. <MAXDECIMAL>0</MAXDECIMAL>
  2270. <MINDECIMAL>0</MINDECIMAL>
  2271. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2272. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2273. <TRANSFORMCODE>LF</TRANSFORMCODE>
  2274. <TRANSFORMTO>F;N,15,5;DC,15,5;</TRANSFORMTO>
  2275. <EXPORTTO>0</EXPORTTO>
  2276. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2277. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2278. <ODBCTYPE>0</ODBCTYPE>
  2279. <BDETYPE>0</BDETYPE>
  2280. </TYPE>
  2281. <TYPE>
  2282. <NAME>Float</NAME>
  2283. <ID>100</ID>
  2284. <GUID>{B200E949-3255-11D4-8604-00C026D00180}</GUID>
  2285. <PHNAME>Float</PHNAME>
  2286. <LLENGTH>0</LLENGTH>
  2287. <LDECIMAL>0</LDECIMAL>
  2288. <MAXLENGTH>0</MAXLENGTH>
  2289. <MINLENGTH>0</MINLENGTH>
  2290. <MAXDECIMAL>0</MAXDECIMAL>
  2291. <MINDECIMAL>0</MINDECIMAL>
  2292. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2293. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2294. <TRANSFORMCODE>F</TRANSFORMCODE>
  2295. <TRANSFORMTO>LF;N,15,5;DC,15,5;</TRANSFORMTO>
  2296. <EXPORTTO>0</EXPORTTO>
  2297. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2298. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2299. <ODBCTYPE>0</ODBCTYPE>
  2300. <BDETYPE>0</BDETYPE>
  2301. </TYPE>
  2302. <TYPE>
  2303. <NAME>Date</NAME>
  2304. <ID>110</ID>
  2305. <GUID>{B200E94A-3255-11D4-8604-00C026D00180}</GUID>
  2306. <PHNAME>Date</PHNAME>
  2307. <LLENGTH>0</LLENGTH>
  2308. <LDECIMAL>0</LDECIMAL>
  2309. <MAXLENGTH>0</MAXLENGTH>
  2310. <MINLENGTH>0</MINLENGTH>
  2311. <MAXDECIMAL>0</MAXDECIMAL>
  2312. <MINDECIMAL>0</MINDECIMAL>
  2313. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2314. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2315. <TRANSFORMCODE>D</TRANSFORMCODE>
  2316. <TRANSFORMTO>DT;</TRANSFORMTO>
  2317. <EXPORTTO>0</EXPORTTO>
  2318. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2319. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2320. <ODBCTYPE>0</ODBCTYPE>
  2321. <BDETYPE>0</BDETYPE>
  2322. </TYPE>
  2323. <TYPE>
  2324. <NAME>Long</NAME>
  2325. <ID>120</ID>
  2326. <GUID>{B200E94B-3255-11D4-8604-00C026D00180}</GUID>
  2327. <PHNAME>Long</PHNAME>
  2328. <LLENGTH>0</LLENGTH>
  2329. <LDECIMAL>0</LDECIMAL>
  2330. <MAXLENGTH>0</MAXLENGTH>
  2331. <MINLENGTH>0</MINLENGTH>
  2332. <MAXDECIMAL>0</MAXDECIMAL>
  2333. <MINDECIMAL>0</MINDECIMAL>
  2334. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2335. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2336. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  2337. <TRANSFORMTO></TRANSFORMTO>
  2338. <EXPORTTO>0</EXPORTTO>
  2339. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2340. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2341. <ODBCTYPE>0</ODBCTYPE>
  2342. <BDETYPE>0</BDETYPE>
  2343. </TYPE>
  2344. <TYPE>
  2345. <NAME>Blob</NAME>
  2346. <ID>130</ID>
  2347. <GUID>{B200E94C-3255-11D4-8604-00C026D00180}</GUID>
  2348. <PHNAME>Blob</PHNAME>
  2349. <LLENGTH>0</LLENGTH>
  2350. <LDECIMAL>0</LDECIMAL>
  2351. <MAXLENGTH>0</MAXLENGTH>
  2352. <MINLENGTH>0</MINLENGTH>
  2353. <MAXDECIMAL>0</MAXDECIMAL>
  2354. <MINDECIMAL>0</MINDECIMAL>
  2355. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2356. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2357. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  2358. <TRANSFORMTO></TRANSFORMTO>
  2359. <EXPORTTO>0</EXPORTTO>
  2360. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2361. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2362. <ODBCTYPE>0</ODBCTYPE>
  2363. <BDETYPE>0</BDETYPE>
  2364. </TYPE>
  2365. <TYPE>
  2366. <NAME>Clob</NAME>
  2367. <ID>140</ID>
  2368. <GUID>{B200E94D-3255-11D4-8604-00C026D00180}</GUID>
  2369. <PHNAME>Clob</PHNAME>
  2370. <LLENGTH>0</LLENGTH>
  2371. <LDECIMAL>0</LDECIMAL>
  2372. <MAXLENGTH>0</MAXLENGTH>
  2373. <MINLENGTH>0</MINLENGTH>
  2374. <MAXDECIMAL>0</MAXDECIMAL>
  2375. <MINDECIMAL>0</MINDECIMAL>
  2376. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2377. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2378. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  2379. <TRANSFORMTO></TRANSFORMTO>
  2380. <EXPORTTO>0</EXPORTTO>
  2381. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2382. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2383. <ODBCTYPE>0</ODBCTYPE>
  2384. <BDETYPE>0</BDETYPE>
  2385. </TYPE>
  2386. <TYPE>
  2387. <NAME>Long raw</NAME>
  2388. <ID>150</ID>
  2389. <GUID>{B200E94E-3255-11D4-8604-00C026D00180}</GUID>
  2390. <PHNAME>Long raw</PHNAME>
  2391. <LLENGTH>0</LLENGTH>
  2392. <LDECIMAL>0</LDECIMAL>
  2393. <MAXLENGTH>0</MAXLENGTH>
  2394. <MINLENGTH>0</MINLENGTH>
  2395. <MAXDECIMAL>0</MAXDECIMAL>
  2396. <MINDECIMAL>0</MINDECIMAL>
  2397. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2398. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2399. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  2400. <TRANSFORMTO></TRANSFORMTO>
  2401. <EXPORTTO>0</EXPORTTO>
  2402. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2403. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2404. <ODBCTYPE>0</ODBCTYPE>
  2405. <BDETYPE>0</BDETYPE>
  2406. </TYPE>
  2407. <TYPE>
  2408. <NAME>Raw</NAME>
  2409. <ID>160</ID>
  2410. <GUID>{B200E94F-3255-11D4-8604-00C026D00180}</GUID>
  2411. <PHNAME>Raw</PHNAME>
  2412. <LLENGTH>1</LLENGTH>
  2413. <LDECIMAL>0</LDECIMAL>
  2414. <MAXLENGTH>2000</MAXLENGTH>
  2415. <MINLENGTH>1</MINLENGTH>
  2416. <MAXDECIMAL>0</MAXDECIMAL>
  2417. <MINDECIMAL>0</MINDECIMAL>
  2418. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  2419. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2420. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  2421. <TRANSFORMTO></TRANSFORMTO>
  2422. <EXPORTTO>0</EXPORTTO>
  2423. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2424. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2425. <ODBCTYPE>0</ODBCTYPE>
  2426. <BDETYPE>0</BDETYPE>
  2427. </TYPE>
  2428. <TYPE>
  2429. <NAME>Rowid</NAME>
  2430. <ID>170</ID>
  2431. <GUID>{B200E950-3255-11D4-8604-00C026D00180}</GUID>
  2432. <PHNAME>Rowid</PHNAME>
  2433. <LLENGTH>0</LLENGTH>
  2434. <LDECIMAL>0</LDECIMAL>
  2435. <MAXLENGTH>0</MAXLENGTH>
  2436. <MINLENGTH>0</MINLENGTH>
  2437. <MAXDECIMAL>0</MAXDECIMAL>
  2438. <MINDECIMAL>0</MINDECIMAL>
  2439. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2440. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2441. <TRANSFORMCODE>I</TRANSFORMCODE>
  2442. <TRANSFORMTO></TRANSFORMTO>
  2443. <EXPORTTO>0</EXPORTTO>
  2444. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2445. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2446. <ODBCTYPE>0</ODBCTYPE>
  2447. <BDETYPE>0</BDETYPE>
  2448. </TYPE>
  2449. <TYPE>
  2450. <NAME>Mlslabel</NAME>
  2451. <ID>180</ID>
  2452. <GUID>{B200E951-3255-11D4-8604-00C026D00180}</GUID>
  2453. <PHNAME>Mlslabel</PHNAME>
  2454. <LLENGTH>0</LLENGTH>
  2455. <LDECIMAL>0</LDECIMAL>
  2456. <MAXLENGTH>0</MAXLENGTH>
  2457. <MINLENGTH>0</MINLENGTH>
  2458. <MAXDECIMAL>0</MAXDECIMAL>
  2459. <MINDECIMAL>0</MINDECIMAL>
  2460. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2461. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2462. <TRANSFORMCODE>I</TRANSFORMCODE>
  2463. <TRANSFORMTO></TRANSFORMTO>
  2464. <EXPORTTO>0</EXPORTTO>
  2465. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2466. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2467. <ODBCTYPE>0</ODBCTYPE>
  2468. <BDETYPE>0</BDETYPE>
  2469. </TYPE>
  2470. <TYPE>
  2471. <NAME>BFILE</NAME>
  2472. <ID>190</ID>
  2473. <GUID>{B200E952-3255-11D4-8604-00C026D00180}</GUID>
  2474. <PHNAME>BFILE</PHNAME>
  2475. <LLENGTH>0</LLENGTH>
  2476. <LDECIMAL>0</LDECIMAL>
  2477. <MAXLENGTH>0</MAXLENGTH>
  2478. <MINLENGTH>0</MINLENGTH>
  2479. <MAXDECIMAL>0</MAXDECIMAL>
  2480. <MINDECIMAL>0</MINDECIMAL>
  2481. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2482. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2483. <TRANSFORMCODE>I</TRANSFORMCODE>
  2484. <TRANSFORMTO></TRANSFORMTO>
  2485. <EXPORTTO>0</EXPORTTO>
  2486. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2487. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2488. <ODBCTYPE>0</ODBCTYPE>
  2489. <BDETYPE>0</BDETYPE>
  2490. </TYPE>
  2491. <TYPE>
  2492. <NAME>Empty</NAME>
  2493. <ID>400</ID>
  2494. <GUID>{B200E953-3255-11D4-8604-00C026D00180}</GUID>
  2495. <PHNAME></PHNAME>
  2496. <LLENGTH>0</LLENGTH>
  2497. <LDECIMAL>0</LDECIMAL>
  2498. <MAXLENGTH>0</MAXLENGTH>
  2499. <MINLENGTH>0</MINLENGTH>
  2500. <MAXDECIMAL>0</MAXDECIMAL>
  2501. <MINDECIMAL>0</MINDECIMAL>
  2502. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  2503. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  2504. <TRANSFORMCODE></TRANSFORMCODE>
  2505. <TRANSFORMTO></TRANSFORMTO>
  2506. <EXPORTTO>0</EXPORTTO>
  2507. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  2508. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  2509. <ODBCTYPE>0</ODBCTYPE>
  2510. <BDETYPE>0</BDETYPE>
  2511. </TYPE>
  2512. </TYPELIST>
  2513. <MAXLENGTHTABLENAME>30</MAXLENGTHTABLENAME>
  2514. <MAXLENGTHCOLNAME>30</MAXLENGTHCOLNAME>
  2515. <MAXLENGTHINDEXNAME>30</MAXLENGTHINDEXNAME>
  2516. <DEFAULTCHAR>_</DEFAULTCHAR>
  2517. <INVALIDCHARACTERS> !"#$%&'()*+,-./:;<=>?@[\]^`{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ </INVALIDCHARACTERS>
  2518. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  2519. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  2520. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  2521. </SERVER>
  2522. <SERVER>
  2523. <NAME>Sybase Anywhere</NAME>
  2524. <ID>40</ID>
  2525. <GUID>{B200E966-3255-11D4-8604-00C026D00180}</GUID>
  2526. <TEMPLATES>
  2527. <TEMPLATE>
  2528. <NAME>CreateTable</NAME>
  2529. <ID>73</ID>
  2530. <GUID>{B200E977-3255-11D4-8604-00C026D00180}</GUID>
  2531. <ENABLED>1</ENABLED>
  2532. <LEVEL>0</LEVEL>
  2533. <IDPARENT>0</IDPARENT>
  2534. <VALUE><![CDATA[cr+
  2535. "Create table %tablename% ("+
  2536. forcol("", "", cr+tb+ if(AtrIsDict,macro(CreateAtrib2),macro(CreateAtrib)) ,",", "")+
  2537. if(existpk and lPkGener, ",%cr%"+ if(lPkAsConstraint,"Constraint %ConstraintPkName% ","")+"Primary Key ("+forpkcol("", "", ColName, ",", ")"+cr) , cr )+
  2538. ") "+tablestorage+";"+cr+showmessage("Table %tablename%")
  2539. ]]></VALUE>
  2540. <LANGUAGE>0</LANGUAGE>
  2541. <CATEGORY>0</CATEGORY>
  2542. </TEMPLATE>
  2543. <TEMPLATE>
  2544. <NAME>CreateIndex</NAME>
  2545. <ID>75</ID>
  2546. <GUID>{B200E978-3255-11D4-8604-00C026D00180}</GUID>
  2547. <ENABLED>1</ENABLED>
  2548. <LEVEL>0</LEVEL>
  2549. <IDPARENT>0</IDPARENT>
  2550. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  2551. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname+" "+if(IndexColDesc,"Desc",""),",",") "+indexstorage+" ;")+cr
  2552. +ShowMessage("Index %Indexname% for table %tablename%")
  2553. ]]></VALUE>
  2554. <LANGUAGE>0</LANGUAGE>
  2555. <CATEGORY>0</CATEGORY>
  2556. </TEMPLATE>
  2557. <TEMPLATE>
  2558. <NAME>DROPINDEXS</NAME>
  2559. <ID>78</ID>
  2560. <GUID>{B200E979-3255-11D4-8604-00C026D00180}</GUID>
  2561. <ENABLED>1</ENABLED>
  2562. <LEVEL>0</LEVEL>
  2563. <IDPARENT>0</IDPARENT>
  2564. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname%;%cr%", "", "" ),"","")
  2565. ]]></VALUE>
  2566. <LANGUAGE>0</LANGUAGE>
  2567. <CATEGORY>0</CATEGORY>
  2568. </TEMPLATE>
  2569. <TEMPLATE>
  2570. <NAME>TRIGGERPARENTUPDATE</NAME>
  2571. <ID>80</ID>
  2572. <GUID>{B200E97A-3255-11D4-8604-00C026D00180}</GUID>
  2573. <ENABLED>1</ENABLED>
  2574. <LEVEL>0</LEVEL>
  2575. <IDPARENT>0</IDPARENT>
  2576. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  2577. /* cascade child %childtablename% update when parent %parenttablename% changed */
  2578. if @forrelpk( "(", tb , "old_upd.%PkParentName% != new_upd.%PkParentName%", " OR %cr%", ") " ) then
  2579.     begin
  2580.     update %childtablename%
  2581.     set @ForRelPk( tb , tb , "%PkChildName% = new_upd.%PkParentName%" , ",%cr%" , "")
  2582.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND %cr%", "") ;
  2583.     end;
  2584. end if;
  2585.  
  2586. {ParUpdSetNULL and (not lRelParUpdSetnullDekl)} 
  2587. /* cascade setnull when parent changed */
  2588. if @forrelpk( "(", tb , "old_upd.%PkParentName% != new_upd.%PkParentName%", " OR %cr%", ") " ) then
  2589.     begin
  2590.     update %childtablename%
  2591.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  2592.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND "+cr, "");
  2593.     end;
  2594. end if;
  2595.  
  2596.  
  2597. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  2598. /* cascade setdefault when parent changed */
  2599. if @forrelpk( "(", tb , "old_upd.%PkParentName% != new_upd.%PkParentName%", " OR %cr%", ") " ) then
  2600.     begin
  2601.     update %childtablename%
  2602.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  2603.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND "+cr, "");
  2604.     end;
  2605. end if;
  2606.  
  2607. {ParUpdRestrict and (not lRelParUpdRestDekl)} 
  2608. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  2609. if @forrelpk( "(", tb , "old_upd.%PkParentName% != new_upd.%PkParentName%", " OR %cr%", ") " ) then
  2610.     begin
  2611.     select count( * ) 
  2612.     into numrows
  2613.     from %childtablename%
  2614.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = old_upd.%PkParentName%", " AND "+cr+tb+tb, "" );
  2615.  
  2616.     if ( numrows > 0 ) then
  2617.         begin
  2618.         signal update_child_restrict_except;
  2619.         end;
  2620.     end if;
  2621.     end;
  2622. end if;
  2623.  
  2624. ]]></VALUE>
  2625. <LANGUAGE>0</LANGUAGE>
  2626. <CATEGORY>0</CATEGORY>
  2627. </TEMPLATE>
  2628. <TEMPLATE>
  2629. <NAME>TRIGGERCHILDUPDATE</NAME>
  2630. <ID>81</ID>
  2631. <GUID>{B200E97B-3255-11D4-8604-00C026D00180}</GUID>
  2632. <ENABLED>1</ENABLED>
  2633. <LEVEL>0</LEVEL>
  2634. <IDPARENT>0</IDPARENT>
  2635. <VALUE><![CDATA[{(not lRelChildUpdRestDekl) and ChildUpdRestrict }
  2636. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  2637. IF @forrelpk( "", "", "new_upd.%PkChildName% !=  old_upd.%PkChildName%", " OR "+cr+tb+tb, "" ) then
  2638.     begin
  2639.     select count( * ) 
  2640.     into numrows
  2641.     from %ParentTableName%
  2642.     where     @forrelpk( "", "", "new_upd.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" );
  2643.     if ( numrows = 0 ) then
  2644.         begin
  2645.         signal update_parent_restrict_except;
  2646.         end;
  2647.     end if;
  2648.     end;
  2649. end if;
  2650. ]]></VALUE>
  2651. <LANGUAGE>0</LANGUAGE>
  2652. <CATEGORY>0</CATEGORY>
  2653. </TEMPLATE>
  2654. <TEMPLATE>
  2655. <NAME>CREATETRIGGERUPDATE</NAME>
  2656. <ID>82</ID>
  2657. <GUID>{B200E97C-3255-11D4-8604-00C026D00180}</GUID>
  2658. <ENABLED>1</ENABLED>
  2659. <LEVEL>0</LEVEL>
  2660. <IDPARENT>0</IDPARENT>
  2661. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  2662. /* Update trigger for %tablename% */
  2663.  
  2664. CREATE Trigger tu_%tablename% after update   
  2665. of @forPFkCol("", "", colname, ",", "" )
  2666. on  %tablename% @showmessage("Trigger for %tablename% ")
  2667. referencing new as new_upd old as old_upd for each row
  2668.  
  2669. begin
  2670. declare numrows integer;
  2671. declare user_defined_exception exception for SQLSTATE '99999';
  2672. declare update_parent_restrict_except exception for SQLSTATE '99991';
  2673. declare update_child_restrict_except exception for SQLSTATE '99992';
  2674.      @forchild( "", "", template(triggerparentupdate), "", "" ) 
  2675.      @forparent("", "", template(triggerchildupdate), "", "" )
  2676. exception
  2677. when update_parent_restrict_except then
  2678.    message 'Error: Trigger(tib_referenti) of table REFERENTI';
  2679.    message '  Parent does not exist. Cannot update child ';
  2680.    signal user_defined_exception;
  2681. when update_child_restrict_except then
  2682.    message 'Children still exist in child table.';  
  2683.    signal user_defined_exception;
  2684. when others then
  2685.    message 'Other';
  2686.    resignal;
  2687. end;
  2688.  
  2689. ]]></VALUE>
  2690. <LANGUAGE>0</LANGUAGE>
  2691. <CATEGORY>0</CATEGORY>
  2692. </TEMPLATE>
  2693. <TEMPLATE>
  2694. <NAME>CREATETRIGGERINSERT</NAME>
  2695. <ID>83</ID>
  2696. <GUID>{B200E97D-3255-11D4-8604-00C026D00180}</GUID>
  2697. <ENABLED>1</ENABLED>
  2698. <LEVEL>0</LEVEL>
  2699. <IDPARENT>0</IDPARENT>
  2700. <VALUE><![CDATA[{lEntChildInsTrig  }
  2701. /* Insert trigger for %tablename% */
  2702.  
  2703. CREATE Trigger ti_%tablename% after insert
  2704. on %tablename% @showmessage("Trigger for %tablename% ")
  2705.  
  2706. referencing new as new_ins for each row
  2707. begin
  2708. declare numrows integer;
  2709. declare user_defined_exception exception for SQLSTATE '99999';
  2710. declare insert_parent_restrict_except exception for SQLSTATE '99991';
  2711. @forparent("", "", template(TriggerParentInsert), "", "")
  2712. exception
  2713. when insert_parent_restrict_except then
  2714.    message 'Error: Trigger(tib_referenti) of table REFERENTI';
  2715.    message 'Parent does not exist. Cannot create child  ';
  2716.    signal user_defined_exception;
  2717. when others then
  2718.    message 'Other';
  2719.    resignal;
  2720. end;
  2721.  
  2722. ]]></VALUE>
  2723. <LANGUAGE>0</LANGUAGE>
  2724. <CATEGORY>0</CATEGORY>
  2725. </TEMPLATE>
  2726. <TEMPLATE>
  2727. <NAME>CREATETRIGGERDELETE</NAME>
  2728. <ID>84</ID>
  2729. <GUID>{B200E97E-3255-11D4-8604-00C026D00180}</GUID>
  2730. <ENABLED>1</ENABLED>
  2731. <LEVEL>0</LEVEL>
  2732. <IDPARENT>0</IDPARENT>
  2733. <VALUE><![CDATA[{lEntParDelTrig}
  2734. /* Delete trigger for %tablename% */
  2735.  
  2736. CREATE Trigger td_%tablename% after delete 
  2737. on %tablename% @showmessage("Trigger for %tablename% ")
  2738.  
  2739. referencing old as old_del for each row
  2740. begin
  2741. declare numrows integer;
  2742. declare user_defined_exception exception for SQLSTATE '99999';
  2743. declare delete_child_restrict_except exception for SQLSTATE '99991';
  2744. @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  2745. exception
  2746. when delete_child_restrict_except then
  2747.    message 'Children still exist in child table. Cannot delete parent ';
  2748.    signal user_defined_exception;
  2749. when others then
  2750.    message 'Other';
  2751.    resignal;
  2752. end;
  2753.  
  2754. ]]></VALUE>
  2755. <LANGUAGE>0</LANGUAGE>
  2756. <CATEGORY>0</CATEGORY>
  2757. </TEMPLATE>
  2758. <TEMPLATE>
  2759. <NAME>TRIGGERPARENTDELETE</NAME>
  2760. <ID>85</ID>
  2761. <GUID>{B200E97F-3255-11D4-8604-00C026D00180}</GUID>
  2762. <ENABLED>1</ENABLED>
  2763. <LEVEL>0</LEVEL>
  2764. <IDPARENT>0</IDPARENT>
  2765. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  2766. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  2767.  
  2768.  
  2769.     delete from %childtablename%
  2770.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND %cr%", "");
  2771.  
  2772.  
  2773. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  2774. /* cascade setnull when parent deleted */
  2775.  
  2776.  
  2777.     update %childtablename%
  2778.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  2779.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND "+cr, "");
  2780.  
  2781.  
  2782. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  2783. /* cascade setdefault when parent deleted */
  2784.  
  2785.  
  2786.     update %childtablename%
  2787.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  2788.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND "+cr, "");
  2789.  
  2790.  
  2791.  
  2792. {ParDelRestrict and (not lParDelRestDekl)} 
  2793. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  2794.  
  2795.  
  2796.     select count( * ) 
  2797.     into numrows
  2798.     from %childtablename%
  2799.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% =  old_del.%PkParentName%", " AND "+cr+tb+tb, "" );
  2800.     
  2801.     IF ( numrows > 0 ) then
  2802.         begin
  2803.         signal delete_child_restrict_except;
  2804.         end;
  2805.     end if;
  2806. ]]></VALUE>
  2807. <LANGUAGE>0</LANGUAGE>
  2808. <CATEGORY>0</CATEGORY>
  2809. </TEMPLATE>
  2810. <TEMPLATE>
  2811. <NAME>TRIGGERPARENTINSERT</NAME>
  2812. <ID>86</ID>
  2813. <GUID>{B200E980-3255-11D4-8604-00C026D00180}</GUID>
  2814. <ENABLED>1</ENABLED>
  2815. <LEVEL>0</LEVEL>
  2816. <IDPARENT>0</IDPARENT>
  2817. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  2818. /* restrict child %childtablename% when parent %parenttablename% insert */
  2819.  
  2820. if @forrelpk( "(", tb, "new_ins.%pkchildname% is not null", " AND %cr%", ")" ) then
  2821.      begin
  2822.     select count( * ) 
  2823.     into numrows
  2824.     from %ParentTableName%
  2825.     where     @forrelpk( "", "", "new_ins.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" );
  2826.     
  2827.     IF ( numrows = 0 ) then
  2828.         begin
  2829.         signal insert_parent_restrict_except;
  2830.         end;
  2831.     end if;
  2832.     end;
  2833. end if;
  2834. ]]></VALUE>
  2835. <LANGUAGE>0</LANGUAGE>
  2836. <CATEGORY>0</CATEGORY>
  2837. </TEMPLATE>
  2838. <TEMPLATE>
  2839. <NAME>REFINTEGRITY2</NAME>
  2840. <ID>87</ID>
  2841. <GUID>{B200E981-3255-11D4-8604-00C026D00180}</GUID>
  2842. <ENABLED>1</ENABLED>
  2843. <LEVEL>0</LEVEL>
  2844. <IDPARENT>0</IDPARENT>
  2845. <VALUE><![CDATA[if(lRelUpdDekl, " on update "+if(lRelParUpdRestDekl, " restrict " ,if(lRelParUpdCascDekl  " cascade", if(lRelParUpdSetnullDekl , "Set Null",if(lRelParUpdSetDefaultDekl, "Set Default", "") ) )), "" )+
  2846. if(lRelDelDekl  , " on delete "+if(lRelParDelRestDekl , " restrict " ,if(lRelParDelCascDekl  " cascade", if(lRelParDelSetnullDekl , "Set Null", if(lRelParDelSetDefaultDekl, "Set Default","") ) )), "" )+";"
  2847. ]]></VALUE>
  2848. <LANGUAGE>0</LANGUAGE>
  2849. <CATEGORY>0</CATEGORY>
  2850. </TEMPLATE>
  2851. <TEMPLATE>
  2852. <NAME>REFINTEGRITY</NAME>
  2853. <ID>88</ID>
  2854. <GUID>{B200E982-3255-11D4-8604-00C026D00180}</GUID>
  2855. <ENABLED>1</ENABLED>
  2856. <LEVEL>0</LEVEL>
  2857. <IDPARENT>0</IDPARENT>
  2858. <VALUE><![CDATA[{lRelParUpdDekl or lRelParDelDekl}
  2859. alter table %childtablename% add @if(lFkAsConstraint,"Constraint %frelname%","")  foreign key(%childkeys%) references %parenttablename% (%parentkeys%) @macro(refintegrity2)
  2860.  
  2861. ]]></VALUE>
  2862. <LANGUAGE>0</LANGUAGE>
  2863. <CATEGORY>0</CATEGORY>
  2864. </TEMPLATE>
  2865. <TEMPLATE>
  2866. <NAME>DROPTABLES</NAME>
  2867. <ID>131</ID>
  2868. <GUID>{B200E983-3255-11D4-8604-00C026D00180}</GUID>
  2869. <ENABLED>1</ENABLED>
  2870. <LEVEL>0</LEVEL>
  2871. <IDPARENT>0</IDPARENT>
  2872. <VALUE><![CDATA[@ForTable("%cr%", "", "Drop table %tablename%;%cr%", "", "" )
  2873. ]]></VALUE>
  2874. <LANGUAGE>0</LANGUAGE>
  2875. <CATEGORY>0</CATEGORY>
  2876. </TEMPLATE>
  2877. <TEMPLATE>
  2878. <NAME>CREATEATRIB</NAME>
  2879. <ID>167</ID>
  2880. <GUID>{B200E984-3255-11D4-8604-00C026D00180}</GUID>
  2881. <ENABLED>1</ENABLED>
  2882. <LEVEL>0</LEVEL>
  2883. <IDPARENT>0</IDPARENT>
  2884. <VALUE><![CDATA["%ColName% %typsql% "+ 
  2885. if(defexist," %defvalue%", "")+
  2886. if(defaultexist," Default %defaultvalue% "  ,"")+
  2887. if(notnull," NOT NULL "," ")+
  2888. if(constraintExist and CheckExist, " Constraint %constraint%","")+
  2889. if(checkexist," Check ("+ evalcheck +" )","")+
  2890. if(def2exist," %def2value%", "")
  2891. ]]></VALUE>
  2892. <LANGUAGE>0</LANGUAGE>
  2893. <CATEGORY>0</CATEGORY>
  2894. </TEMPLATE>
  2895. <TEMPLATE>
  2896. <NAME>CREATEATRIB2</NAME>
  2897. <ID>168</ID>
  2898. <GUID>{B200E985-3255-11D4-8604-00C026D00180}</GUID>
  2899. <ENABLED>1</ENABLED>
  2900. <LEVEL>0</LEVEL>
  2901. <IDPARENT>0</IDPARENT>
  2902. <VALUE><![CDATA["%colname% %DictName%" + if(notnull," NOT NULL "," ")
  2903. ]]></VALUE>
  2904. <LANGUAGE>0</LANGUAGE>
  2905. <CATEGORY>0</CATEGORY>
  2906. </TEMPLATE>
  2907. <TEMPLATE>
  2908. <NAME>CREATEDOMAINS</NAME>
  2909. <ID>169</ID>
  2910. <GUID>{B200E986-3255-11D4-8604-00C026D00180}</GUID>
  2911. <ENABLED>1</ENABLED>
  2912. <LEVEL>0</LEVEL>
  2913. <IDPARENT>0</IDPARENT>
  2914. <VALUE><![CDATA[@ForDict("", "", macro(CreateDomain) , cr, "")
  2915. ]]></VALUE>
  2916. <LANGUAGE>0</LANGUAGE>
  2917. <CATEGORY>0</CATEGORY>
  2918. </TEMPLATE>
  2919. <TEMPLATE>
  2920. <NAME>CREATEDOMAIN</NAME>
  2921. <ID>170</ID>
  2922. <GUID>{B200E987-3255-11D4-8604-00C026D00180}</GUID>
  2923. <ENABLED>1</ENABLED>
  2924. <LEVEL>0</LEVEL>
  2925. <IDPARENT>0</IDPARENT>
  2926. <VALUE><![CDATA["Create Domain %DictName% %TypSQL%"+if(DefaultExist, " Default %default%","")+if(CheckExist," Check ("+evalcheck2(dictname)+" )", "")+";"
  2927. ]]></VALUE>
  2928. <LANGUAGE>0</LANGUAGE>
  2929. <CATEGORY>0</CATEGORY>
  2930. </TEMPLATE>
  2931. <TEMPLATE>
  2932. <NAME>DROPDOMAINS</NAME>
  2933. <ID>171</ID>
  2934. <GUID>{B200E988-3255-11D4-8604-00C026D00180}</GUID>
  2935. <ENABLED>1</ENABLED>
  2936. <LEVEL>0</LEVEL>
  2937. <IDPARENT>0</IDPARENT>
  2938. <VALUE><![CDATA[@ForDict("%cr%", "", "Drop domain %dictname%;%cr%", "", "" )
  2939. ]]></VALUE>
  2940. <LANGUAGE>0</LANGUAGE>
  2941. <CATEGORY>0</CATEGORY>
  2942. </TEMPLATE>
  2943. <TEMPLATE>
  2944. <NAME>DropTriggerUpdate</NAME>
  2945. <ID>271</ID>
  2946. <GUID>{B200E989-3255-11D4-8604-00C026D00180}</GUID>
  2947. <ENABLED>1</ENABLED>
  2948. <LEVEL>0</LEVEL>
  2949. <IDPARENT>0</IDPARENT>
  2950. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  2951. drop trigger tu_%tablename%;
  2952. ]]></VALUE>
  2953. <LANGUAGE>0</LANGUAGE>
  2954. <CATEGORY>0</CATEGORY>
  2955. </TEMPLATE>
  2956. <TEMPLATE>
  2957. <NAME>DropTriggerDelete</NAME>
  2958. <ID>272</ID>
  2959. <GUID>{B200E98A-3255-11D4-8604-00C026D00180}</GUID>
  2960. <ENABLED>1</ENABLED>
  2961. <LEVEL>0</LEVEL>
  2962. <IDPARENT>0</IDPARENT>
  2963. <VALUE><![CDATA[{lEntParDelTrig}
  2964. drop trigger td_%tablename%;
  2965. ]]></VALUE>
  2966. <LANGUAGE>0</LANGUAGE>
  2967. <CATEGORY>0</CATEGORY>
  2968. </TEMPLATE>
  2969. <TEMPLATE>
  2970. <NAME>DropTriggerInsert</NAME>
  2971. <ID>273</ID>
  2972. <GUID>{B200E98B-3255-11D4-8604-00C026D00180}</GUID>
  2973. <ENABLED>1</ENABLED>
  2974. <LEVEL>0</LEVEL>
  2975. <IDPARENT>0</IDPARENT>
  2976. <VALUE><![CDATA[{lEntChildInsTrig  }
  2977. drop trigger ti_%tablename%;
  2978. ]]></VALUE>
  2979. <LANGUAGE>0</LANGUAGE>
  2980. <CATEGORY>0</CATEGORY>
  2981. </TEMPLATE>
  2982. <TEMPLATE>
  2983. <NAME>CreateAlterKey</NAME>
  2984. <ID>274</ID>
  2985. <GUID>{B200E98C-3255-11D4-8604-00C026D00180}</GUID>
  2986. <ENABLED>1</ENABLED>
  2987. <LEVEL>0</LEVEL>
  2988. <IDPARENT>0</IDPARENT>
  2989. <VALUE><![CDATA[@foralterkey("","","alter table %tablename% add constraint %AlterKeyConstraintName% unique (%AlterKeyKeys%);","","")
  2990. ]]></VALUE>
  2991. <LANGUAGE>0</LANGUAGE>
  2992. <CATEGORY>0</CATEGORY>
  2993. </TEMPLATE>
  2994. <TEMPLATE>
  2995. <NAME>CreateDatabase</NAME>
  2996. <ID>277</ID>
  2997. <GUID>{B200E98D-3255-11D4-8604-00C026D00180}</GUID>
  2998. <ENABLED>1</ENABLED>
  2999. <LEVEL>0</LEVEL>
  3000. <IDPARENT>0</IDPARENT>
  3001. <VALUE><![CDATA[/*
  3002. Created        %createddate%
  3003. Modified        %modifieddate%
  3004. Project        %projectname%
  3005. Model        %modelname%
  3006. Company        %company%
  3007. Author        %authorname%
  3008. Version        %version%
  3009. Database        %databasetype% 
  3010. */
  3011.  
  3012. {lbeforescript}
  3013. %beforescript%
  3014. {lDropDomainGener}
  3015. @showmessage("Drop domains")
  3016. @template(dropdomains)
  3017. {ldroptriggerGener}
  3018. @showmessage("Drop triggers")
  3019. @template(droptriggers)
  3020. {lDropIndexGener}
  3021. @template(DropIndexs)
  3022. {lDropTableGener}
  3023. @showmessage("Drop tables")
  3024. @template(DropRefIntegritys)
  3025. @template(droptables)
  3026. {lDomainGener}
  3027. @showmessage("Create domains")
  3028. @template(CreateDomains)
  3029. {lTableGener}
  3030. @showmessage("Create tables")
  3031. @template(createtables)
  3032. {lalterkeysgener}
  3033. @template(CreateAlterKeys)
  3034. {lIndexGener}
  3035. @showmessage("Create indexes")
  3036. @template(createindexs)
  3037. {lRefIntegGener}
  3038. @template(refintegritys)
  3039. {lTriggersGener}
  3040. @template(createtriggers)
  3041. {lTriggersUserGener}
  3042. @template(CreateTriggersList)
  3043. {lProceduresGener}
  3044. @template(CreateProcedures)
  3045. {lViewsGener}
  3046. @template(CreateViews)
  3047. {lUserToRoleGener}
  3048. @ShowMessage("Users permissions to roles")
  3049. @template(GrantUserToRole)
  3050. {lRolePermissGener}
  3051. @ShowMessage("Roles permissions")
  3052. @template(CreateRolePermiss)
  3053. {lUserPermissGener}
  3054. @ShowMessage("Users permissions")
  3055. @template(CreateUserPermiss)
  3056. {lafterscript}
  3057. %afterscript%
  3058.  
  3059.  
  3060. ]]></VALUE>
  3061. <LANGUAGE>0</LANGUAGE>
  3062. <CATEGORY>0</CATEGORY>
  3063. </TEMPLATE>
  3064. <TEMPLATE>
  3065. <NAME>GrantUserToRole</NAME>
  3066. <ID>347</ID>
  3067. <GUID>{B200E98E-3255-11D4-8604-00C026D00180}</GUID>
  3068. <ENABLED>1</ENABLED>
  3069. <LEVEL>0</LEVEL>
  3070. <IDPARENT>0</IDPARENT>
  3071. <VALUE><![CDATA[@ForRole("","",ForUser("","",UserRoleUser("grant membership in group %rolename% to %username%;%cr%"),"",""),"","")
  3072. ]]></VALUE>
  3073. <LANGUAGE>0</LANGUAGE>
  3074. <CATEGORY>0</CATEGORY>
  3075. </TEMPLATE>
  3076. </TEMPLATES>
  3077. <VARIABLES><![CDATA[lDomainSupp 1
  3078. lConstraintPkSupp  1
  3079. lConstraintFkSupp  1
  3080. lAtrCheckConstraintSupp 0
  3081. lAtrUniqueConstraintSupp 0 
  3082. lAlterKeySupp 1
  3083. lProceduresSupp 1
  3084. lViewsSupp 1
  3085. lPermissUserToRoleSupp 1
  3086. lPermissUserToObjectSupp 1
  3087. lPermissRoleToObjectSupp 1
  3088. lDriParUpdRestrict 1
  3089. lDriParUpdCascade 1
  3090. lDriParUpdSetNull 1
  3091. lDriParUpdSetDefault 1
  3092. lDriParDelRestrict 1
  3093. lDriParDelCascade 1
  3094. lDriParDelSetNull 1
  3095. lDriParDelSetDefault 1
  3096. lDriChildInsRestrict 0
  3097. lDriChildUpdRestrict 0
  3098. lDriParUpdRestrictSupp 1
  3099. lDriParUpdCascadeSupp 1
  3100. lDriParUpdSetNullSupp 1
  3101. lDriParUpdSetDefaultSupp 1
  3102. lDriParDelRestrictSupp 1
  3103. lDriParDelCascadeSupp 1
  3104. lDriParDelSetNullSupp 1
  3105. lDriParDelSetDefaultSupp 1
  3106. lDriChildInsRestrictSupp 0
  3107. lDriChildUpdRestrictSupp 0
  3108. lIndexDescendSupp 1
  3109. lIndexItDescendSupp 1
  3110. lIndexUpperSupp 0
  3111. lIndexExprSupp 0
  3112. lIndexUniqueSupp 1
  3113. lIndexFilterSupp 0
  3114. lIndexStandSupp 1
  3115. lIndexClusterSupp 0
  3116. lIndexNameUnique 1
  3117. lPkSupp 1
  3118. lPkNotNull 1
  3119. lDRISupp 1
  3120. lTriggerSupp 1
  3121. lAtrUniqueSupp 0
  3122. lAtrNotNullSupp 1
  3123. lAtrCheckSupp 1
  3124. lAtrDefaultSupp 1
  3125. lDomainSupp 1
  3126. lConstraintPkSupp  1
  3127. lConstraintFkSupp  1
  3128. lAtrCheckConstraintSupp 0
  3129. lAtrUniqueConstraintSupp 0 
  3130. lAlterKeySupp 1
  3131. lProceduresSupp 1
  3132. lViewsSupp 1
  3133. lPermissUserToRoleSupp 1
  3134. lPermissUserToObjectSupp 1
  3135. lPermissRoleToObjectSupp 1
  3136. ]]></VARIABLES>
  3137. <USEREDITS>
  3138. </USEREDITS>
  3139. <TYPELIST>
  3140. <TYPE>
  3141. <NAME>Char</NAME>
  3142. <ID>10</ID>
  3143. <GUID>{B200E967-3255-11D4-8604-00C026D00180}</GUID>
  3144. <PHNAME>Char</PHNAME>
  3145. <LLENGTH>1</LLENGTH>
  3146. <LDECIMAL>0</LDECIMAL>
  3147. <MAXLENGTH>32767</MAXLENGTH>
  3148. <MINLENGTH>1</MINLENGTH>
  3149. <MAXDECIMAL>0</MAXDECIMAL>
  3150. <MINDECIMAL>0</MINDECIMAL>
  3151. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  3152. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3153. <TRANSFORMCODE>A</TRANSFORMCODE>
  3154. <TRANSFORMTO>LA;VA;LVA;</TRANSFORMTO>
  3155. <EXPORTTO>0</EXPORTTO>
  3156. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3157. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3158. <ODBCTYPE>0</ODBCTYPE>
  3159. <BDETYPE>0</BDETYPE>
  3160. </TYPE>
  3161. <TYPE>
  3162. <NAME>Varchar</NAME>
  3163. <ID>20</ID>
  3164. <GUID>{B200E968-3255-11D4-8604-00C026D00180}</GUID>
  3165. <PHNAME>Varchar</PHNAME>
  3166. <LLENGTH>1</LLENGTH>
  3167. <LDECIMAL>0</LDECIMAL>
  3168. <MAXLENGTH>32767</MAXLENGTH>
  3169. <MINLENGTH>1</MINLENGTH>
  3170. <MAXDECIMAL>0</MAXDECIMAL>
  3171. <MINDECIMAL>0</MINDECIMAL>
  3172. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  3173. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3174. <TRANSFORMCODE>VA</TRANSFORMCODE>
  3175. <TRANSFORMTO>VA;LA;LVA;</TRANSFORMTO>
  3176. <EXPORTTO>0</EXPORTTO>
  3177. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3178. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3179. <ODBCTYPE>0</ODBCTYPE>
  3180. <BDETYPE>0</BDETYPE>
  3181. </TYPE>
  3182. <TYPE>
  3183. <NAME>Long Var</NAME>
  3184. <ID>30</ID>
  3185. <GUID>{B200E969-3255-11D4-8604-00C026D00180}</GUID>
  3186. <PHNAME>Long Var</PHNAME>
  3187. <LLENGTH>0</LLENGTH>
  3188. <LDECIMAL>0</LDECIMAL>
  3189. <MAXLENGTH>0</MAXLENGTH>
  3190. <MINLENGTH>0</MINLENGTH>
  3191. <MAXDECIMAL>0</MAXDECIMAL>
  3192. <MINDECIMAL>0</MINDECIMAL>
  3193. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3194. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3195. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  3196. <TRANSFORMTO>LBIN;</TRANSFORMTO>
  3197. <EXPORTTO>0</EXPORTTO>
  3198. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3199. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3200. <ODBCTYPE>0</ODBCTYPE>
  3201. <BDETYPE>0</BDETYPE>
  3202. </TYPE>
  3203. <TYPE>
  3204. <NAME>Decimal</NAME>
  3205. <ID>40</ID>
  3206. <GUID>{B200E96A-3255-11D4-8604-00C026D00180}</GUID>
  3207. <PHNAME>Decimal</PHNAME>
  3208. <LLENGTH>1</LLENGTH>
  3209. <LDECIMAL>1</LDECIMAL>
  3210. <MAXLENGTH>32768</MAXLENGTH>
  3211. <MINLENGTH>1</MINLENGTH>
  3212. <MAXDECIMAL>32768</MAXDECIMAL>
  3213. <MINDECIMAL>1</MINDECIMAL>
  3214. <DEFAULTLENGTH>6</DEFAULTLENGTH>
  3215. <DEFAULTDECIMAL>30</DEFAULTDECIMAL>
  3216. <TRANSFORMCODE>DC</TRANSFORMCODE>
  3217. <TRANSFORMTO>N;</TRANSFORMTO>
  3218. <EXPORTTO>0</EXPORTTO>
  3219. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3220. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3221. <ODBCTYPE>0</ODBCTYPE>
  3222. <BDETYPE>0</BDETYPE>
  3223. </TYPE>
  3224. <TYPE>
  3225. <NAME>Double</NAME>
  3226. <ID>50</ID>
  3227. <GUID>{B200E96B-3255-11D4-8604-00C026D00180}</GUID>
  3228. <PHNAME>Double</PHNAME>
  3229. <LLENGTH>0</LLENGTH>
  3230. <LDECIMAL>0</LDECIMAL>
  3231. <MAXLENGTH>0</MAXLENGTH>
  3232. <MINLENGTH>0</MINLENGTH>
  3233. <MAXDECIMAL>0</MAXDECIMAL>
  3234. <MINDECIMAL>0</MINDECIMAL>
  3235. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3236. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3237. <TRANSFORMCODE>LF</TRANSFORMCODE>
  3238. <TRANSFORMTO>F;N;</TRANSFORMTO>
  3239. <EXPORTTO>0</EXPORTTO>
  3240. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3241. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3242. <ODBCTYPE>0</ODBCTYPE>
  3243. <BDETYPE>0</BDETYPE>
  3244. </TYPE>
  3245. <TYPE>
  3246. <NAME>Float</NAME>
  3247. <ID>60</ID>
  3248. <GUID>{B200E96C-3255-11D4-8604-00C026D00180}</GUID>
  3249. <PHNAME>Float</PHNAME>
  3250. <LLENGTH>0</LLENGTH>
  3251. <LDECIMAL>0</LDECIMAL>
  3252. <MAXLENGTH>0</MAXLENGTH>
  3253. <MINLENGTH>0</MINLENGTH>
  3254. <MAXDECIMAL>0</MAXDECIMAL>
  3255. <MINDECIMAL>0</MINDECIMAL>
  3256. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3257. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3258. <TRANSFORMCODE>F</TRANSFORMCODE>
  3259. <TRANSFORMTO>LF;N;</TRANSFORMTO>
  3260. <EXPORTTO>0</EXPORTTO>
  3261. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3262. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3263. <ODBCTYPE>0</ODBCTYPE>
  3264. <BDETYPE>0</BDETYPE>
  3265. </TYPE>
  3266. <TYPE>
  3267. <NAME>Integer</NAME>
  3268. <ID>70</ID>
  3269. <GUID>{B200E96D-3255-11D4-8604-00C026D00180}</GUID>
  3270. <PHNAME>Integer</PHNAME>
  3271. <LLENGTH>0</LLENGTH>
  3272. <LDECIMAL>0</LDECIMAL>
  3273. <MAXLENGTH>0</MAXLENGTH>
  3274. <MINLENGTH>0</MINLENGTH>
  3275. <MAXDECIMAL>0</MAXDECIMAL>
  3276. <MINDECIMAL>0</MINDECIMAL>
  3277. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3278. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3279. <TRANSFORMCODE>I</TRANSFORMCODE>
  3280. <TRANSFORMTO>LI;N;</TRANSFORMTO>
  3281. <EXPORTTO>0</EXPORTTO>
  3282. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3283. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3284. <ODBCTYPE>0</ODBCTYPE>
  3285. <BDETYPE>0</BDETYPE>
  3286. </TYPE>
  3287. <TYPE>
  3288. <NAME>Numeric</NAME>
  3289. <ID>80</ID>
  3290. <GUID>{B200E96E-3255-11D4-8604-00C026D00180}</GUID>
  3291. <PHNAME>Numeric</PHNAME>
  3292. <LLENGTH>1</LLENGTH>
  3293. <LDECIMAL>1</LDECIMAL>
  3294. <MAXLENGTH>32767</MAXLENGTH>
  3295. <MINLENGTH>1</MINLENGTH>
  3296. <MAXDECIMAL>32767</MAXDECIMAL>
  3297. <MINDECIMAL>1</MINDECIMAL>
  3298. <DEFAULTLENGTH>6</DEFAULTLENGTH>
  3299. <DEFAULTDECIMAL>30</DEFAULTDECIMAL>
  3300. <TRANSFORMCODE>N</TRANSFORMCODE>
  3301. <TRANSFORMTO>DC;</TRANSFORMTO>
  3302. <EXPORTTO>0</EXPORTTO>
  3303. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3304. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3305. <ODBCTYPE>0</ODBCTYPE>
  3306. <BDETYPE>0</BDETYPE>
  3307. </TYPE>
  3308. <TYPE>
  3309. <NAME>Real</NAME>
  3310. <ID>90</ID>
  3311. <GUID>{B200E96F-3255-11D4-8604-00C026D00180}</GUID>
  3312. <PHNAME>Real</PHNAME>
  3313. <LLENGTH>0</LLENGTH>
  3314. <LDECIMAL>0</LDECIMAL>
  3315. <MAXLENGTH>0</MAXLENGTH>
  3316. <MINLENGTH>0</MINLENGTH>
  3317. <MAXDECIMAL>0</MAXDECIMAL>
  3318. <MINDECIMAL>0</MINDECIMAL>
  3319. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3320. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3321. <TRANSFORMCODE>F</TRANSFORMCODE>
  3322. <TRANSFORMTO>LF;N;</TRANSFORMTO>
  3323. <EXPORTTO>0</EXPORTTO>
  3324. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3325. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3326. <ODBCTYPE>0</ODBCTYPE>
  3327. <BDETYPE>0</BDETYPE>
  3328. </TYPE>
  3329. <TYPE>
  3330. <NAME>Smallint</NAME>
  3331. <ID>100</ID>
  3332. <GUID>{B200E970-3255-11D4-8604-00C026D00180}</GUID>
  3333. <PHNAME>Smallint</PHNAME>
  3334. <LLENGTH>0</LLENGTH>
  3335. <LDECIMAL>0</LDECIMAL>
  3336. <MAXLENGTH>0</MAXLENGTH>
  3337. <MINLENGTH>0</MINLENGTH>
  3338. <MAXDECIMAL>0</MAXDECIMAL>
  3339. <MINDECIMAL>0</MINDECIMAL>
  3340. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3341. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3342. <TRANSFORMCODE>SI</TRANSFORMCODE>
  3343. <TRANSFORMTO>I;N;</TRANSFORMTO>
  3344. <EXPORTTO>0</EXPORTTO>
  3345. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3346. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3347. <ODBCTYPE>0</ODBCTYPE>
  3348. <BDETYPE>0</BDETYPE>
  3349. </TYPE>
  3350. <TYPE>
  3351. <NAME>Date</NAME>
  3352. <ID>110</ID>
  3353. <GUID>{B200E971-3255-11D4-8604-00C026D00180}</GUID>
  3354. <PHNAME>Date</PHNAME>
  3355. <LLENGTH>0</LLENGTH>
  3356. <LDECIMAL>0</LDECIMAL>
  3357. <MAXLENGTH>0</MAXLENGTH>
  3358. <MINLENGTH>0</MINLENGTH>
  3359. <MAXDECIMAL>0</MAXDECIMAL>
  3360. <MINDECIMAL>0</MINDECIMAL>
  3361. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3362. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3363. <TRANSFORMCODE>D</TRANSFORMCODE>
  3364. <TRANSFORMTO>DT;</TRANSFORMTO>
  3365. <EXPORTTO>0</EXPORTTO>
  3366. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3367. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3368. <ODBCTYPE>0</ODBCTYPE>
  3369. <BDETYPE>0</BDETYPE>
  3370. </TYPE>
  3371. <TYPE>
  3372. <NAME>Time</NAME>
  3373. <ID>120</ID>
  3374. <GUID>{B200E972-3255-11D4-8604-00C026D00180}</GUID>
  3375. <PHNAME>Time</PHNAME>
  3376. <LLENGTH>0</LLENGTH>
  3377. <LDECIMAL>0</LDECIMAL>
  3378. <MAXLENGTH>0</MAXLENGTH>
  3379. <MINLENGTH>0</MINLENGTH>
  3380. <MAXDECIMAL>0</MAXDECIMAL>
  3381. <MINDECIMAL>0</MINDECIMAL>
  3382. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3383. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3384. <TRANSFORMCODE>T</TRANSFORMCODE>
  3385. <TRANSFORMTO>DT;</TRANSFORMTO>
  3386. <EXPORTTO>0</EXPORTTO>
  3387. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3388. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3389. <ODBCTYPE>0</ODBCTYPE>
  3390. <BDETYPE>0</BDETYPE>
  3391. </TYPE>
  3392. <TYPE>
  3393. <NAME>Timestamp</NAME>
  3394. <ID>130</ID>
  3395. <GUID>{B200E973-3255-11D4-8604-00C026D00180}</GUID>
  3396. <PHNAME>Timestamp</PHNAME>
  3397. <LLENGTH>0</LLENGTH>
  3398. <LDECIMAL>0</LDECIMAL>
  3399. <MAXLENGTH>0</MAXLENGTH>
  3400. <MINLENGTH>0</MINLENGTH>
  3401. <MAXDECIMAL>0</MAXDECIMAL>
  3402. <MINDECIMAL>0</MINDECIMAL>
  3403. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3404. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3405. <TRANSFORMCODE>TS</TRANSFORMCODE>
  3406. <TRANSFORMTO>DT;</TRANSFORMTO>
  3407. <EXPORTTO>0</EXPORTTO>
  3408. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3409. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3410. <ODBCTYPE>0</ODBCTYPE>
  3411. <BDETYPE>0</BDETYPE>
  3412. </TYPE>
  3413. <TYPE>
  3414. <NAME>Binary</NAME>
  3415. <ID>140</ID>
  3416. <GUID>{B200E974-3255-11D4-8604-00C026D00180}</GUID>
  3417. <PHNAME>Binary</PHNAME>
  3418. <LLENGTH>1</LLENGTH>
  3419. <LDECIMAL>0</LDECIMAL>
  3420. <MAXLENGTH>32737</MAXLENGTH>
  3421. <MINLENGTH>1</MINLENGTH>
  3422. <MAXDECIMAL>0</MAXDECIMAL>
  3423. <MINDECIMAL>0</MINDECIMAL>
  3424. <DEFAULTLENGTH>1</DEFAULTLENGTH>
  3425. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3426. <TRANSFORMCODE>BIN</TRANSFORMCODE>
  3427. <TRANSFORMTO>LBIN;</TRANSFORMTO>
  3428. <EXPORTTO>0</EXPORTTO>
  3429. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3430. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3431. <ODBCTYPE>0</ODBCTYPE>
  3432. <BDETYPE>0</BDETYPE>
  3433. </TYPE>
  3434. <TYPE>
  3435. <NAME>Long Binary</NAME>
  3436. <ID>150</ID>
  3437. <GUID>{B200E975-3255-11D4-8604-00C026D00180}</GUID>
  3438. <PHNAME>Long Binary</PHNAME>
  3439. <LLENGTH>0</LLENGTH>
  3440. <LDECIMAL>0</LDECIMAL>
  3441. <MAXLENGTH>0</MAXLENGTH>
  3442. <MINLENGTH>0</MINLENGTH>
  3443. <MAXDECIMAL>0</MAXDECIMAL>
  3444. <MINDECIMAL>0</MINDECIMAL>
  3445. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3446. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3447. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  3448. <TRANSFORMTO>BIN;</TRANSFORMTO>
  3449. <EXPORTTO>0</EXPORTTO>
  3450. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3451. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3452. <ODBCTYPE>0</ODBCTYPE>
  3453. <BDETYPE>0</BDETYPE>
  3454. </TYPE>
  3455. <TYPE>
  3456. <NAME>Empty</NAME>
  3457. <ID>300</ID>
  3458. <GUID>{B200E976-3255-11D4-8604-00C026D00180}</GUID>
  3459. <PHNAME></PHNAME>
  3460. <LLENGTH>0</LLENGTH>
  3461. <LDECIMAL>0</LDECIMAL>
  3462. <MAXLENGTH>0</MAXLENGTH>
  3463. <MINLENGTH>0</MINLENGTH>
  3464. <MAXDECIMAL>0</MAXDECIMAL>
  3465. <MINDECIMAL>0</MINDECIMAL>
  3466. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  3467. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  3468. <TRANSFORMCODE></TRANSFORMCODE>
  3469. <TRANSFORMTO></TRANSFORMTO>
  3470. <EXPORTTO>0</EXPORTTO>
  3471. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  3472. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  3473. <ODBCTYPE>0</ODBCTYPE>
  3474. <BDETYPE>0</BDETYPE>
  3475. </TYPE>
  3476. </TYPELIST>
  3477. <MAXLENGTHTABLENAME>128</MAXLENGTHTABLENAME>
  3478. <MAXLENGTHCOLNAME>128</MAXLENGTHCOLNAME>
  3479. <MAXLENGTHINDEXNAME>128</MAXLENGTHINDEXNAME>
  3480. <DEFAULTCHAR>_</DEFAULTCHAR>
  3481. <INVALIDCHARACTERS>!%&'()*+,-./:;<=>?[\]^`{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ </INVALIDCHARACTERS>
  3482. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  3483. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  3484. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  3485. </SERVER>
  3486. <SERVER>
  3487. <NAME>MS SQL</NAME>
  3488. <ID>60</ID>
  3489. <GUID>{B200E98F-3255-11D4-8604-00C026D00180}</GUID>
  3490. <TEMPLATES>
  3491. <TEMPLATE>
  3492. <NAME>CreateTable</NAME>
  3493. <ID>91</ID>
  3494. <GUID>{B200E9A8-3255-11D4-8604-00C026D00180}</GUID>
  3495. <ENABLED>1</ENABLED>
  3496. <LEVEL>0</LEVEL>
  3497. <IDPARENT>0</IDPARENT>
  3498. <VALUE><![CDATA[cr+
  3499. "Create table %tablename% ("+
  3500. forcol("", "", cr+tb+"%ColName% %typsql%"+ if(defexist," %defvalue%", "")+
  3501. if(defaultexist," Default "+defaultvalue  ,"")+
  3502. if(Identity," Identity"+if(Empty(IdentitySeed),"","(%IdentitySeed%,%IdentityIncrement%)"),"")+
  3503. if( notnull," NOT NULL"," NULL")+
  3504. if( UniqueAtr, if(not Empty(ConstraintAtrUnique)," Constraint %ConstraintAtrUnique%","")+" UNIQUE", "")+
  3505. if(constraintExist and CheckExist, " Constraint %constraint%","")+
  3506. if(checkexist," Check ("+ evalcheck+" )","")+
  3507. if(def2exist," %def2value%", "") , ",", "")+
  3508. if(existpk and lPkGener, ",%cr%"+ if(lPkAsConstraint and (not Empty(ConstraintPkName)),"Constraint %ConstraintPkName% ","")+"Primary Key ("+forpkcol("", "", ColName, ",", ")"+cr) , cr )+
  3509. ") "+tablestorage+"%cr%go"+cr+showmessage("Table %tablename%")
  3510. ]]></VALUE>
  3511. <LANGUAGE>0</LANGUAGE>
  3512. <CATEGORY>0</CATEGORY>
  3513. </TEMPLATE>
  3514. <TEMPLATE>
  3515. <NAME>CreateIndex</NAME>
  3516. <ID>93</ID>
  3517. <GUID>{B200E9A9-3255-11D4-8604-00C026D00180}</GUID>
  3518. <ENABLED>1</ENABLED>
  3519. <LEVEL>0</LEVEL>
  3520. <IDPARENT>0</IDPARENT>
  3521. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  3522. +if(clustered,"CLUSTERED ","")
  3523. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname+" "+if(IndexColDesc,"Desc",""),",",") "+indexstorage+"%cr%go")+cr
  3524. +ShowMessage("Index %Indexname% for table %tablename%")
  3525. ]]></VALUE>
  3526. <LANGUAGE>0</LANGUAGE>
  3527. <CATEGORY>0</CATEGORY>
  3528. </TEMPLATE>
  3529. <TEMPLATE>
  3530. <NAME>RefIntegrity</NAME>
  3531. <ID>95</ID>
  3532. <GUID>{B200E9AA-3255-11D4-8604-00C026D00180}</GUID>
  3533. <ENABLED>1</ENABLED>
  3534. <LEVEL>0</LEVEL>
  3535. <IDPARENT>0</IDPARENT>
  3536. <VALUE><![CDATA[{lRelAnyDekl} 
  3537. alter table %childtablename% add @if(lFkAsConstraint,"Constraint %frelname%","")  foreign key(%childkeys%) references %parenttablename% (%parentkeys%) %cr%go
  3538. ]]></VALUE>
  3539. <LANGUAGE>0</LANGUAGE>
  3540. <CATEGORY>0</CATEGORY>
  3541. </TEMPLATE>
  3542. <TEMPLATE>
  3543. <NAME>DropIndexs</NAME>
  3544. <ID>96</ID>
  3545. <GUID>{B200E9AB-3255-11D4-8604-00C026D00180}</GUID>
  3546. <ENABLED>1</ENABLED>
  3547. <LEVEL>0</LEVEL>
  3548. <IDPARENT>0</IDPARENT>
  3549. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %tablename%.%indexname% %cr%go %cr%", "", "" ),"","")
  3550. ]]></VALUE>
  3551. <LANGUAGE>0</LANGUAGE>
  3552. <CATEGORY>0</CATEGORY>
  3553. </TEMPLATE>
  3554. <TEMPLATE>
  3555. <NAME>DropTables</NAME>
  3556. <ID>133</ID>
  3557. <GUID>{B200E9AC-3255-11D4-8604-00C026D00180}</GUID>
  3558. <ENABLED>1</ENABLED>
  3559. <LEVEL>0</LEVEL>
  3560. <IDPARENT>0</IDPARENT>
  3561. <VALUE><![CDATA[@ForTable("%cr%", "", "Drop table %tablename% %cr%go%cr%", "", "" )
  3562. ]]></VALUE>
  3563. <LANGUAGE>0</LANGUAGE>
  3564. <CATEGORY>0</CATEGORY>
  3565. </TEMPLATE>
  3566. <TEMPLATE>
  3567. <NAME>CREATETRIGGERUPDATE</NAME>
  3568. <ID>135</ID>
  3569. <GUID>{B200E9AD-3255-11D4-8604-00C026D00180}</GUID>
  3570. <ENABLED>1</ENABLED>
  3571. <LEVEL>0</LEVEL>
  3572. <IDPARENT>0</IDPARENT>
  3573. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  3574. /* Update trigger for %tablename% */
  3575.  
  3576. CREATE Trigger tu_%tablename% on %tablename% for update as
  3577. @showmessage("Trigger for %tablename% ")
  3578. begin
  3579. declare
  3580. %c1%numrows integer
  3581.  
  3582. select %c1%numrows = %c1%%c1%rowcount
  3583.     if %c1%numrows = 0
  3584.     Return
  3585.  
  3586.     @forchild( "", "", template(triggerparentupdate), "", "" ) 
  3587.     @forparent("", "", template(triggerchildupdate), "", "" )
  3588. end
  3589. go
  3590. ]]></VALUE>
  3591. <LANGUAGE>0</LANGUAGE>
  3592. <CATEGORY>0</CATEGORY>
  3593. </TEMPLATE>
  3594. <TEMPLATE>
  3595. <NAME>CREATETRIGGERINSERT</NAME>
  3596. <ID>136</ID>
  3597. <GUID>{B200E9AE-3255-11D4-8604-00C026D00180}</GUID>
  3598. <ENABLED>1</ENABLED>
  3599. <LEVEL>0</LEVEL>
  3600. <IDPARENT>0</IDPARENT>
  3601. <VALUE><![CDATA[{lEntChildInsTrig  }
  3602. /* Insert trigger for %tablename% */
  3603.  
  3604. CREATE Trigger ti_%tablename% on %tablename% for insert as
  3605. @showmessage("Trigger for %tablename% ")
  3606. begin
  3607. declare
  3608. %c1%NumRows integer
  3609.  
  3610. select %c1%numrows = %c1%%c1%rowcount
  3611.     if %c1%numrows = 0
  3612.     Return
  3613.  
  3614. @forparent("", "", template(TriggerParentInsert), "", "")
  3615. end
  3616. go
  3617. ]]></VALUE>
  3618. <LANGUAGE>0</LANGUAGE>
  3619. <CATEGORY>0</CATEGORY>
  3620. </TEMPLATE>
  3621. <TEMPLATE>
  3622. <NAME>CREATETRIGGERDELETE</NAME>
  3623. <ID>137</ID>
  3624. <GUID>{B200E9AF-3255-11D4-8604-00C026D00180}</GUID>
  3625. <ENABLED>1</ENABLED>
  3626. <LEVEL>0</LEVEL>
  3627. <IDPARENT>0</IDPARENT>
  3628. <VALUE><![CDATA[{lEntParDelTrig}
  3629. /* Delete trigger for %tablename% */
  3630.  
  3631. CREATE Trigger td_%tablename% on %tablename% for delete as
  3632. @showmessage("Trigger for %tablename% ")
  3633. begin
  3634. declare
  3635. %c1%numrows      integer
  3636.  
  3637. select %c1%numrows = %c1%%c1%rowcount
  3638.     if %c1%numrows = 0
  3639.     Return
  3640.  
  3641. @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  3642. end
  3643. go
  3644. ]]></VALUE>
  3645. <LANGUAGE>0</LANGUAGE>
  3646. <CATEGORY>0</CATEGORY>
  3647. </TEMPLATE>
  3648. <TEMPLATE>
  3649. <NAME>TRIGGERPARENTUPDATE</NAME>
  3650. <ID>138</ID>
  3651. <GUID>{B200E9B0-3255-11D4-8604-00C026D00180}</GUID>
  3652. <ENABLED>1</ENABLED>
  3653. <LEVEL>0</LEVEL>
  3654. <IDPARENT>0</IDPARENT>
  3655. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  3656. /* cascade child %childtablename% update when parent %parenttablename% changed */
  3657. if @forrelpk("", "", "Update(%PkParentName%)"," OR%cr% ","")
  3658.     begin
  3659.     update %childtablename%
  3660.     set @ForRelPk( tb , tb , "%PkChildName% = i.%PkParentName%" , ",%cr%" , "")
  3661.     from %childtablename% t, inserted i, deleted d
  3662.     where @ForRelPk( tb , tb , "t.%PkChildName% = d.%PkParentName%" , " AND %cr%", "") 
  3663.     AND
  3664.     @ForRelPk("(", "", "i.%PkParentName% != d.%PkParentName%", " OR%cr%%tb% ", ")" )
  3665.     end
  3666.  
  3667. {ParUpdSetNULL and (not lRelParUpdSetnullDekl)} 
  3668. /* cascade setnull when parent changed */
  3669. if @forrelpk("", "", "Update(%PkParentName%)"," OR%cr% ","") 
  3670.     begin
  3671.     update %childtablename%
  3672.     set @ForRelPk( tb , tb , "%PkChildName% = NULL" , ",%cr%" , "")
  3673.     from %childtablename% t, inserted i, deleted d
  3674.     where @ForRelPk( tb , tb , "t.%PkChildName% = d.%PkParentName%" , " AND %cr%", "") 
  3675.     AND
  3676.     @ForRelPk("(", "", "i.%PkParentName% != d.%PkParentName%", " OR%cr% ", ")" ) 
  3677.     end
  3678.  
  3679. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  3680. /* cascade setdefault when parent changed */
  3681. if @forrelpk("", "", "Update(%PkParentName%)"," OR%cr% ","") 
  3682.     begin
  3683.     update %childtablename%
  3684.     set @ForRelPk( tb , tb , "%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  3685.     from %childtablename% t, inserted i, deleted d
  3686.     where @ForRelPk( tb , tb , "t.%PkChildName% = d.%PkParentName%" , " AND %cr%", "") 
  3687.     AND
  3688.     @ForRelPk("(", "", "i.%PkParentName% != d.%PkParentName%", " OR%cr% ", ")" ) 
  3689.     end
  3690.  
  3691. {ParUpdRestrict and (not lRelParUpdRestDekl)} 
  3692. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  3693. if @forrelpk("", "", "Update(%PkParentName%)"," OR%cr% ","")
  3694.     begin
  3695.     if ((select count( * ) 
  3696.     from %childtablename% t, deleted d
  3697.     where     @forrelpk( "", "", "t.%PkChildName% = d.%PkParentName%", " AND "+cr+tb, "" ) ) != 0)
  3698.         begin
  3699.         raiserror  30001 'Children still exist in child table'
  3700.         rollback transaction
  3701.         end
  3702.     end
  3703. ]]></VALUE>
  3704. <LANGUAGE>0</LANGUAGE>
  3705. <CATEGORY>0</CATEGORY>
  3706. </TEMPLATE>
  3707. <TEMPLATE>
  3708. <NAME>TRIGGERCHILDUPDATE</NAME>
  3709. <ID>139</ID>
  3710. <GUID>{B200E9B1-3255-11D4-8604-00C026D00180}</GUID>
  3711. <ENABLED>1</ENABLED>
  3712. <LEVEL>0</LEVEL>
  3713. <IDPARENT>0</IDPARENT>
  3714. <VALUE><![CDATA[{(not lRelChildUpdRestDekl) and ChildUpdRestrict }
  3715. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  3716. if @forrelpk("", "", "Update(%PkChildName%)"," OR%cr% ","")
  3717.     begin
  3718.     if ((select count( * ) 
  3719.     from %ParentTableName% t, inserted i
  3720.     where @forrelpk( "", "", "t.%PkParentName% = i.%PkChildName%", " AND "+cr, "" ) ) != %c1%numrows)
  3721.         begin
  3722.         raiserror  30002 'Parent does not exist. Cannot update child'
  3723.         rollback transaction
  3724.         end
  3725.     end
  3726. ]]></VALUE>
  3727. <LANGUAGE>0</LANGUAGE>
  3728. <CATEGORY>0</CATEGORY>
  3729. </TEMPLATE>
  3730. <TEMPLATE>
  3731. <NAME>TRIGGERPARENTDELETE</NAME>
  3732. <ID>140</ID>
  3733. <GUID>{B200E9B2-3255-11D4-8604-00C026D00180}</GUID>
  3734. <ENABLED>1</ENABLED>
  3735. <LEVEL>0</LEVEL>
  3736. <IDPARENT>0</IDPARENT>
  3737. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  3738. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  3739.  
  3740.     delete %childtablename% from %childtablename% t, deleted d
  3741.     where @ForRelPk( tb , tb , "t.%PkChildName% = d.%PkParentName%" , " AND %cr%", "")
  3742.  
  3743. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  3744. /* cascade setnull when parent deleted */
  3745.  
  3746.     update %childtablename% from %childtablename% t, deleted d
  3747.     set @ForRelPk( tb , tb+tb , "%PkChildName% = NULL" , ",%cr%" , "")
  3748.     where @ForRelPk( tb , tb+tb , "t.%PkChildName% = d.%PkParentName%" , " AND "+cr, "")
  3749.  
  3750. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  3751. /* cascade setnull when parent deleted */
  3752.  
  3753.     update %childtablename% from %childtablename% t, deleted d
  3754.     set @ForRelPk( tb , tb+tb , "%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  3755.     where @ForRelPk( tb , tb+tb , "t.%PkChildName% = d.%PkParentName%" , " AND "+cr, "")
  3756.  
  3757.  
  3758. {ParDelRestrict and (not lParDelRestDekl)} 
  3759. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  3760.      
  3761.     if ((select count( * ) 
  3762.     from %childtablename% t, deleted d
  3763.     where     @forrelpk( "", "", "t.%PkChildName% = d.%PkParentName%", " AND "+cr+tb, "" ) ) != 0)
  3764.     
  3765.          begin
  3766.         raiserror  30003 'Children still exist in child table. Cannot delete parent'
  3767.         rollback transaction
  3768.         end
  3769. ]]></VALUE>
  3770. <LANGUAGE>0</LANGUAGE>
  3771. <CATEGORY>0</CATEGORY>
  3772. </TEMPLATE>
  3773. <TEMPLATE>
  3774. <NAME>TRIGGERPARENTINSERT</NAME>
  3775. <ID>141</ID>
  3776. <GUID>{B200E9B3-3255-11D4-8604-00C026D00180}</GUID>
  3777. <ENABLED>1</ENABLED>
  3778. <LEVEL>0</LEVEL>
  3779. <IDPARENT>0</IDPARENT>
  3780. <VALUE><![CDATA[/* restrict child %childtablename% when parent %parenttablename% insert */
  3781.  
  3782. if @forrelpk("", "", "Update(%PkChildName%)"," OR%cr% ","")
  3783.     begin
  3784.     if ((select count( * ) 
  3785.     from %ParentTableName% t, inserted i
  3786.     where @forrelpk( "", "", "t.%PkParentName% = i.%PkChildName%", " AND "+cr, "" ) ) != %c1%numrows)
  3787.         begin
  3788.         raiserror  30004 'Parent does not exist. Cannot insert child'
  3789.         rollback transaction
  3790.         end
  3791.     end
  3792. ]]></VALUE>
  3793. <LANGUAGE>0</LANGUAGE>
  3794. <CATEGORY>0</CATEGORY>
  3795. </TEMPLATE>
  3796. <TEMPLATE>
  3797. <NAME>CREATEALTERKEY</NAME>
  3798. <ID>242</ID>
  3799. <GUID>{B200E9B4-3255-11D4-8604-00C026D00180}</GUID>
  3800. <ENABLED>1</ENABLED>
  3801. <LEVEL>0</LEVEL>
  3802. <IDPARENT>0</IDPARENT>
  3803. <VALUE><![CDATA[@foralterkey("","","alter table %tablename% add constraint %AlterKeyConstraintName% unique (%AlterKeyKeys%)%cr%go%cr%","","")
  3804. ]]></VALUE>
  3805. <LANGUAGE>0</LANGUAGE>
  3806. <CATEGORY>0</CATEGORY>
  3807. </TEMPLATE>
  3808. <TEMPLATE>
  3809. <NAME>DropTriggerUpdate</NAME>
  3810. <ID>260</ID>
  3811. <GUID>{B200E9B5-3255-11D4-8604-00C026D00180}</GUID>
  3812. <ENABLED>1</ENABLED>
  3813. <LEVEL>0</LEVEL>
  3814. <IDPARENT>0</IDPARENT>
  3815. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  3816. drop trigger tu_%tablename%
  3817. go
  3818. ]]></VALUE>
  3819. <LANGUAGE>0</LANGUAGE>
  3820. <CATEGORY>0</CATEGORY>
  3821. </TEMPLATE>
  3822. <TEMPLATE>
  3823. <NAME>DropTriggerDelete</NAME>
  3824. <ID>261</ID>
  3825. <GUID>{B200E9B6-3255-11D4-8604-00C026D00180}</GUID>
  3826. <ENABLED>1</ENABLED>
  3827. <LEVEL>0</LEVEL>
  3828. <IDPARENT>0</IDPARENT>
  3829. <VALUE><![CDATA[{lEntParDelTrig}
  3830. drop trigger td_%tablename%
  3831. go
  3832. ]]></VALUE>
  3833. <LANGUAGE>0</LANGUAGE>
  3834. <CATEGORY>0</CATEGORY>
  3835. </TEMPLATE>
  3836. <TEMPLATE>
  3837. <NAME>DropTriggerInsert</NAME>
  3838. <ID>262</ID>
  3839. <GUID>{B200E9B7-3255-11D4-8604-00C026D00180}</GUID>
  3840. <ENABLED>1</ENABLED>
  3841. <LEVEL>0</LEVEL>
  3842. <IDPARENT>0</IDPARENT>
  3843. <VALUE><![CDATA[{lEntChildInsTrig  }
  3844. drop trigger ti_%tablename%
  3845. go
  3846. ]]></VALUE>
  3847. <LANGUAGE>0</LANGUAGE>
  3848. <CATEGORY>0</CATEGORY>
  3849. </TEMPLATE>
  3850. <TEMPLATE>
  3851. <NAME>DropRefIntegritys</NAME>
  3852. <ID>263</ID>
  3853. <GUID>{B200E9B8-3255-11D4-8604-00C026D00180}</GUID>
  3854. <ENABLED>1</ENABLED>
  3855. <LEVEL>0</LEVEL>
  3856. <IDPARENT>0</IDPARENT>
  3857. <VALUE><![CDATA[{lFkAsConstraint}
  3858. @fortable("", "", forchild("", "", template(DropRefIntegrity), "", "" ), "", "" )
  3859. ]]></VALUE>
  3860. <LANGUAGE>0</LANGUAGE>
  3861. <CATEGORY>0</CATEGORY>
  3862. </TEMPLATE>
  3863. <TEMPLATE>
  3864. <NAME>DropRefIntegrity</NAME>
  3865. <ID>264</ID>
  3866. <GUID>{B200E9B9-3255-11D4-8604-00C026D00180}</GUID>
  3867. <ENABLED>1</ENABLED>
  3868. <LEVEL>0</LEVEL>
  3869. <IDPARENT>0</IDPARENT>
  3870. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  3871. alter table %childtablename% drop constraint %frelname%
  3872. go
  3873. ]]></VALUE>
  3874. <LANGUAGE>0</LANGUAGE>
  3875. <CATEGORY>0</CATEGORY>
  3876. </TEMPLATE>
  3877. <TEMPLATE>
  3878. <NAME>CreateRole</NAME>
  3879. <ID>339</ID>
  3880. <GUID>{B200E9BA-3255-11D4-8604-00C026D00180}</GUID>
  3881. <ENABLED>1</ENABLED>
  3882. <LEVEL>0</LEVEL>
  3883. <IDPARENT>0</IDPARENT>
  3884. <VALUE><![CDATA[@ForRole("","",if(lRole,"sp_AddRole %RoleName%%cr%go%cr%",""),"","")
  3885. ]]></VALUE>
  3886. <LANGUAGE>0</LANGUAGE>
  3887. <CATEGORY>0</CATEGORY>
  3888. </TEMPLATE>
  3889. <TEMPLATE>
  3890. <NAME>GrantUserToRole</NAME>
  3891. <ID>340</ID>
  3892. <GUID>{B200E9BB-3255-11D4-8604-00C026D00180}</GUID>
  3893. <ENABLED>1</ENABLED>
  3894. <LEVEL>0</LEVEL>
  3895. <IDPARENT>0</IDPARENT>
  3896. <VALUE><![CDATA[@ForRole("","",ForUser("","",UserRoleUser("sp_AddRoleMember %rolename% %username%%cr%go%cr%"),"",""),"","")
  3897. ]]></VALUE>
  3898. <LANGUAGE>0</LANGUAGE>
  3899. <CATEGORY>0</CATEGORY>
  3900. </TEMPLATE>
  3901. <TEMPLATE>
  3902. <NAME>CreateTablePermiss</NAME>
  3903. <ID>341</ID>
  3904. <GUID>{B200E9BC-3255-11D4-8604-00C026D00180}</GUID>
  3905. <ENABLED>1</ENABLED>
  3906. <LEVEL>0</LEVEL>
  3907. <IDPARENT>0</IDPARENT>
  3908. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %TableName% to %UserOrRoleName%%cr%go%cr%","")+
  3909. if(lPermissUpdate,"Grant update on %TableName% to %UserOrRoleName%%cr%go%cr%","")+
  3910. if(lPermissDelete,"Grant delete on %TableName% to %UserOrRoleName%%cr%go%cr%","")+
  3911. if(lPermissInsert,"Grant insert on %TableName% to %UserOrRoleName%%cr%go%cr%","")+
  3912. if(lPermissDRI,"Grant references on %TableName% to %UserOrRoleName%%cr%go%cr%","")
  3913. ]]></VALUE>
  3914. <LANGUAGE>0</LANGUAGE>
  3915. <CATEGORY>0</CATEGORY>
  3916. </TEMPLATE>
  3917. <TEMPLATE>
  3918. <NAME>CreateViewPermiss</NAME>
  3919. <ID>342</ID>
  3920. <GUID>{B200E9BD-3255-11D4-8604-00C026D00180}</GUID>
  3921. <ENABLED>1</ENABLED>
  3922. <LEVEL>0</LEVEL>
  3923. <IDPARENT>0</IDPARENT>
  3924. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %ViewName% to %UserOrRoleName%%cr%go%cr%","")+
  3925. if(lPermissUpdate,"Grant update on %ViewName% to %UserOrRoleName%%cr%go%cr%","")+
  3926. if(lPermissDelete,"Grant delete on %ViewName% to %UserOrRoleName%%cr%go%cr%","")+
  3927. if(lPermissInsert,"Grant insert on %ViewName% to %UserOrRoleName%%cr%go%cr%","")
  3928. ]]></VALUE>
  3929. <LANGUAGE>0</LANGUAGE>
  3930. <CATEGORY>0</CATEGORY>
  3931. </TEMPLATE>
  3932. <TEMPLATE>
  3933. <NAME>CreateProcedurePermiss</NAME>
  3934. <ID>343</ID>
  3935. <GUID>{B200E9BE-3255-11D4-8604-00C026D00180}</GUID>
  3936. <ENABLED>1</ENABLED>
  3937. <LEVEL>0</LEVEL>
  3938. <IDPARENT>0</IDPARENT>
  3939. <VALUE><![CDATA[if(lPermissExec,"Grant exec on %ProcedureName% to %UserOrRoleName%%cr%go%cr%","")
  3940. ]]></VALUE>
  3941. <LANGUAGE>0</LANGUAGE>
  3942. <CATEGORY>0</CATEGORY>
  3943. </TEMPLATE>
  3944. <TEMPLATE>
  3945. <NAME>DropProcedures</NAME>
  3946. <ID>344</ID>
  3947. <GUID>{B200E9BF-3255-11D4-8604-00C026D00180}</GUID>
  3948. <ENABLED>1</ENABLED>
  3949. <LEVEL>0</LEVEL>
  3950. <IDPARENT>0</IDPARENT>
  3951. <VALUE><![CDATA[@ForProcedureR("","","drop procedure %ProcedureName%%cr%go%cr%","","")
  3952. ]]></VALUE>
  3953. <LANGUAGE>0</LANGUAGE>
  3954. <CATEGORY>0</CATEGORY>
  3955. </TEMPLATE>
  3956. <TEMPLATE>
  3957. <NAME>DropViews</NAME>
  3958. <ID>345</ID>
  3959. <GUID>{B200E9C0-3255-11D4-8604-00C026D00180}</GUID>
  3960. <ENABLED>1</ENABLED>
  3961. <LEVEL>0</LEVEL>
  3962. <IDPARENT>0</IDPARENT>
  3963. <VALUE><![CDATA[@ForViewR("","","drop view %ViewName%%cr%go%cr%","","")
  3964. ]]></VALUE>
  3965. <LANGUAGE>0</LANGUAGE>
  3966. <CATEGORY>0</CATEGORY>
  3967. </TEMPLATE>
  3968. <TEMPLATE>
  3969. <NAME>DropTriggersList</NAME>
  3970. <ID>346</ID>
  3971. <GUID>{B200E9C1-3255-11D4-8604-00C026D00180}</GUID>
  3972. <ENABLED>1</ENABLED>
  3973. <LEVEL>0</LEVEL>
  3974. <IDPARENT>0</IDPARENT>
  3975. <VALUE><![CDATA[@ForTriggerR("","","drop trigger %TriggerName%%cr%go%cr%","","")
  3976. ]]></VALUE>
  3977. <LANGUAGE>0</LANGUAGE>
  3978. <CATEGORY>0</CATEGORY>
  3979. </TEMPLATE>
  3980. </TEMPLATES>
  3981. <VARIABLES><![CDATA[ldomains  0
  3982. lAtrCheckConstraintSupp 1
  3983. lAlterKeySupp 1
  3984. lProceduresSupp 1
  3985. lViewsSupp 1
  3986. lConstraintPkSupp 1
  3987. lConstraintFkSupp 1
  3988. lAtrUniqueConstraintSupp 1
  3989. lPermissUserToRoleSupp 1
  3990. lPermissUserToObjectSupp 1
  3991. lPermissRoleToObjectSupp 1
  3992. lRoleSupp 1
  3993. lDriParUpdRestrict 1
  3994. lDriParUpdCascade 0
  3995. lDriParUpdSetNull 0
  3996. lDriParUpdSetDefault 0
  3997. lDriParDelRestrict 1
  3998. lDriParDelCascade 0
  3999. lDriParDelSetNull 0
  4000. lDriParDelSetDefault 0
  4001. lDriChildInsRestrict 0
  4002. lDriChildUpdRestrict 0
  4003. lDriParUpdRestrictSupp 1
  4004. lDriParUpdCascadeSupp 0
  4005. lDriParUpdSetNullSupp 0
  4006. lDriParUpdSetDefaultSupp 0
  4007. lDriParDelRestrictSupp 1
  4008. lDriParDelCascadeSupp 0
  4009. lDriParDelSetNullSupp 0
  4010. lDriParDelSetDefaultSupp 0
  4011. lDriChildInsRestrictSupp 0
  4012. lDriChildUpdRestrictSupp 0
  4013. lIndexDescendSupp 1
  4014. lIndexItDescendSupp 0
  4015. lIndexUpperSupp 0
  4016. lIndexExprSupp 0
  4017. lIndexUniqueSupp 1
  4018. lIndexFilterSupp 0
  4019. lIndexStandSupp 1
  4020. lIndexClusterSupp 1
  4021. lIndexNameUnique 1
  4022. lPkSupp 1
  4023. lPkNotNull 1
  4024. lDRISupp 1
  4025. lTriggerSupp 1
  4026. lAtrUniqueSupp 1
  4027. lAtrNotNullSupp 1
  4028. lAtrCheckSupp 1
  4029. lAtrDefaultSupp 1
  4030. ldomains  0
  4031. lAtrCheckConstraintSupp 1
  4032. lAlterKeySupp 1
  4033. lProceduresSupp 1
  4034. lViewsSupp 1
  4035. lConstraintPkSupp 1
  4036. lConstraintFkSupp 1
  4037. lAtrUniqueConstraintSupp 1
  4038. lPermissUserToRoleSupp 1
  4039. lPermissUserToObjectSupp 1
  4040. lPermissRoleToObjectSupp 1
  4041. lRoleSupp 1
  4042. ]]></VARIABLES>
  4043. <USEREDITS>
  4044. <USEREDIT>
  4045. <NAME>Identity</NAME>
  4046. <ID>6</ID>
  4047. <GUID>{B200E9C2-3255-11D4-8604-00C026D00180}</GUID>
  4048. <CAPTION>Identity</CAPTION>
  4049. <TYPE>1</TYPE>
  4050. <LEVEL>3</LEVEL>
  4051. <DEFAULT></DEFAULT>
  4052. <ORD>0</ORD>
  4053. <LENGTH>0</LENGTH>
  4054. </USEREDIT>
  4055. <USEREDIT>
  4056. <NAME>IdentitySeed</NAME>
  4057. <ID>7</ID>
  4058. <GUID>{B200E9C3-3255-11D4-8604-00C026D00180}</GUID>
  4059. <CAPTION>Identity Seed</CAPTION>
  4060. <TYPE>0</TYPE>
  4061. <LEVEL>3</LEVEL>
  4062. <DEFAULT></DEFAULT>
  4063. <ORD>0</ORD>
  4064. <LENGTH>0</LENGTH>
  4065. </USEREDIT>
  4066. <USEREDIT>
  4067. <NAME>IdentityIncrement</NAME>
  4068. <ID>8</ID>
  4069. <GUID>{B200E9C4-3255-11D4-8604-00C026D00180}</GUID>
  4070. <CAPTION>Identity Increment</CAPTION>
  4071. <TYPE>0</TYPE>
  4072. <LEVEL>3</LEVEL>
  4073. <DEFAULT></DEFAULT>
  4074. <ORD>0</ORD>
  4075. <LENGTH>0</LENGTH>
  4076. </USEREDIT>
  4077. </USEREDITS>
  4078. <TYPELIST>
  4079. <TYPE>
  4080. <NAME>Char</NAME>
  4081. <ID>10</ID>
  4082. <GUID>{B200E990-3255-11D4-8604-00C026D00180}</GUID>
  4083. <PHNAME>Char</PHNAME>
  4084. <LLENGTH>1</LLENGTH>
  4085. <LDECIMAL>0</LDECIMAL>
  4086. <MAXLENGTH>35000</MAXLENGTH>
  4087. <MINLENGTH>1</MINLENGTH>
  4088. <MAXDECIMAL>0</MAXDECIMAL>
  4089. <MINDECIMAL>0</MINDECIMAL>
  4090. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  4091. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4092. <TRANSFORMCODE>A</TRANSFORMCODE>
  4093. <TRANSFORMTO>LA;VA;LVA;</TRANSFORMTO>
  4094. <EXPORTTO>0</EXPORTTO>
  4095. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4096. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4097. <ODBCTYPE>0</ODBCTYPE>
  4098. <BDETYPE>0</BDETYPE>
  4099. </TYPE>
  4100. <TYPE>
  4101. <NAME>Nchar</NAME>
  4102. <ID>15</ID>
  4103. <GUID>{B200E991-3255-11D4-8604-00C026D00180}</GUID>
  4104. <PHNAME>Nchar</PHNAME>
  4105. <LLENGTH>1</LLENGTH>
  4106. <LDECIMAL>0</LDECIMAL>
  4107. <MAXLENGTH>35000</MAXLENGTH>
  4108. <MINLENGTH>1</MINLENGTH>
  4109. <MAXDECIMAL>0</MAXDECIMAL>
  4110. <MINDECIMAL>0</MINDECIMAL>
  4111. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  4112. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4113. <TRANSFORMCODE>NA</TRANSFORMCODE>
  4114. <TRANSFORMTO>NVA;A;LA;VA;LVA;</TRANSFORMTO>
  4115. <EXPORTTO>0</EXPORTTO>
  4116. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4117. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4118. <ODBCTYPE>0</ODBCTYPE>
  4119. <BDETYPE>0</BDETYPE>
  4120. </TYPE>
  4121. <TYPE>
  4122. <NAME>Varchar</NAME>
  4123. <ID>20</ID>
  4124. <GUID>{B200E992-3255-11D4-8604-00C026D00180}</GUID>
  4125. <PHNAME>Varchar</PHNAME>
  4126. <LLENGTH>1</LLENGTH>
  4127. <LDECIMAL>0</LDECIMAL>
  4128. <MAXLENGTH>35000</MAXLENGTH>
  4129. <MINLENGTH>1</MINLENGTH>
  4130. <MAXDECIMAL>0</MAXDECIMAL>
  4131. <MINDECIMAL>0</MINDECIMAL>
  4132. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  4133. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4134. <TRANSFORMCODE>VA</TRANSFORMCODE>
  4135. <TRANSFORMTO>LVA;A;LA;</TRANSFORMTO>
  4136. <EXPORTTO>0</EXPORTTO>
  4137. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4138. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4139. <ODBCTYPE>0</ODBCTYPE>
  4140. <BDETYPE>0</BDETYPE>
  4141. </TYPE>
  4142. <TYPE>
  4143. <NAME>Nvarchar</NAME>
  4144. <ID>25</ID>
  4145. <GUID>{B200E993-3255-11D4-8604-00C026D00180}</GUID>
  4146. <PHNAME>Nvarchar</PHNAME>
  4147. <LLENGTH>1</LLENGTH>
  4148. <LDECIMAL>0</LDECIMAL>
  4149. <MAXLENGTH>35000</MAXLENGTH>
  4150. <MINLENGTH>4</MINLENGTH>
  4151. <MAXDECIMAL>0</MAXDECIMAL>
  4152. <MINDECIMAL>0</MINDECIMAL>
  4153. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  4154. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4155. <TRANSFORMCODE>NVA</TRANSFORMCODE>
  4156. <TRANSFORMTO>LVA;NA;A;LA;</TRANSFORMTO>
  4157. <EXPORTTO>0</EXPORTTO>
  4158. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4159. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4160. <ODBCTYPE>0</ODBCTYPE>
  4161. <BDETYPE>0</BDETYPE>
  4162. </TYPE>
  4163. <TYPE>
  4164. <NAME>Integer</NAME>
  4165. <ID>30</ID>
  4166. <GUID>{B200E994-3255-11D4-8604-00C026D00180}</GUID>
  4167. <PHNAME>Integer</PHNAME>
  4168. <LLENGTH>0</LLENGTH>
  4169. <LDECIMAL>0</LDECIMAL>
  4170. <MAXLENGTH>0</MAXLENGTH>
  4171. <MINLENGTH>0</MINLENGTH>
  4172. <MAXDECIMAL>0</MAXDECIMAL>
  4173. <MINDECIMAL>0</MINDECIMAL>
  4174. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4175. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4176. <TRANSFORMCODE>I</TRANSFORMCODE>
  4177. <TRANSFORMTO>LI;N,10,0;</TRANSFORMTO>
  4178. <EXPORTTO>0</EXPORTTO>
  4179. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4180. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4181. <ODBCTYPE>0</ODBCTYPE>
  4182. <BDETYPE>0</BDETYPE>
  4183. </TYPE>
  4184. <TYPE>
  4185. <NAME>Smallint</NAME>
  4186. <ID>40</ID>
  4187. <GUID>{B200E995-3255-11D4-8604-00C026D00180}</GUID>
  4188. <PHNAME>Smallint</PHNAME>
  4189. <LLENGTH>0</LLENGTH>
  4190. <LDECIMAL>0</LDECIMAL>
  4191. <MAXLENGTH>0</MAXLENGTH>
  4192. <MINLENGTH>0</MINLENGTH>
  4193. <MAXDECIMAL>0</MAXDECIMAL>
  4194. <MINDECIMAL>0</MINDECIMAL>
  4195. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4196. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4197. <TRANSFORMCODE>SI</TRANSFORMCODE>
  4198. <TRANSFORMTO>I;LI;N,3,0;</TRANSFORMTO>
  4199. <EXPORTTO>0</EXPORTTO>
  4200. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4201. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4202. <ODBCTYPE>0</ODBCTYPE>
  4203. <BDETYPE>0</BDETYPE>
  4204. </TYPE>
  4205. <TYPE>
  4206. <NAME>Tinyint</NAME>
  4207. <ID>45</ID>
  4208. <GUID>{B200E996-3255-11D4-8604-00C026D00180}</GUID>
  4209. <PHNAME>Tinyint</PHNAME>
  4210. <LLENGTH>0</LLENGTH>
  4211. <LDECIMAL>0</LDECIMAL>
  4212. <MAXLENGTH>0</MAXLENGTH>
  4213. <MINLENGTH>0</MINLENGTH>
  4214. <MAXDECIMAL>0</MAXDECIMAL>
  4215. <MINDECIMAL>0</MINDECIMAL>
  4216. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4217. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4218. <TRANSFORMCODE>SI</TRANSFORMCODE>
  4219. <TRANSFORMTO>I;LI;N,3,0;</TRANSFORMTO>
  4220. <EXPORTTO>0</EXPORTTO>
  4221. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4222. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4223. <ODBCTYPE>0</ODBCTYPE>
  4224. <BDETYPE>0</BDETYPE>
  4225. </TYPE>
  4226. <TYPE>
  4227. <NAME>Float</NAME>
  4228. <ID>50</ID>
  4229. <GUID>{B200E997-3255-11D4-8604-00C026D00180}</GUID>
  4230. <PHNAME>Float</PHNAME>
  4231. <LLENGTH>0</LLENGTH>
  4232. <LDECIMAL>0</LDECIMAL>
  4233. <MAXLENGTH>0</MAXLENGTH>
  4234. <MINLENGTH>0</MINLENGTH>
  4235. <MAXDECIMAL>0</MAXDECIMAL>
  4236. <MINDECIMAL>0</MINDECIMAL>
  4237. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4238. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4239. <TRANSFORMCODE>F</TRANSFORMCODE>
  4240. <TRANSFORMTO>LF;N,15,5</TRANSFORMTO>
  4241. <EXPORTTO>0</EXPORTTO>
  4242. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4243. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4244. <ODBCTYPE>0</ODBCTYPE>
  4245. <BDETYPE>0</BDETYPE>
  4246. </TYPE>
  4247. <TYPE>
  4248. <NAME>Real</NAME>
  4249. <ID>60</ID>
  4250. <GUID>{B200E998-3255-11D4-8604-00C026D00180}</GUID>
  4251. <PHNAME>Real</PHNAME>
  4252. <LLENGTH>0</LLENGTH>
  4253. <LDECIMAL>0</LDECIMAL>
  4254. <MAXLENGTH>0</MAXLENGTH>
  4255. <MINLENGTH>0</MINLENGTH>
  4256. <MAXDECIMAL>0</MAXDECIMAL>
  4257. <MINDECIMAL>0</MINDECIMAL>
  4258. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4259. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4260. <TRANSFORMCODE>F</TRANSFORMCODE>
  4261. <TRANSFORMTO>LF;N,15,5;</TRANSFORMTO>
  4262. <EXPORTTO>0</EXPORTTO>
  4263. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4264. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4265. <ODBCTYPE>0</ODBCTYPE>
  4266. <BDETYPE>0</BDETYPE>
  4267. </TYPE>
  4268. <TYPE>
  4269. <NAME>Money</NAME>
  4270. <ID>70</ID>
  4271. <GUID>{B200E999-3255-11D4-8604-00C026D00180}</GUID>
  4272. <PHNAME>Money</PHNAME>
  4273. <LLENGTH>0</LLENGTH>
  4274. <LDECIMAL>0</LDECIMAL>
  4275. <MAXLENGTH>0</MAXLENGTH>
  4276. <MINLENGTH>0</MINLENGTH>
  4277. <MAXDECIMAL>0</MAXDECIMAL>
  4278. <MINDECIMAL>0</MINDECIMAL>
  4279. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4280. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4281. <TRANSFORMCODE>MN</TRANSFORMCODE>
  4282. <TRANSFORMTO>F;N,15,2;</TRANSFORMTO>
  4283. <EXPORTTO>0</EXPORTTO>
  4284. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4285. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4286. <ODBCTYPE>0</ODBCTYPE>
  4287. <BDETYPE>0</BDETYPE>
  4288. </TYPE>
  4289. <TYPE>
  4290. <NAME>Smallmoney</NAME>
  4291. <ID>80</ID>
  4292. <GUID>{B200E99A-3255-11D4-8604-00C026D00180}</GUID>
  4293. <PHNAME>Smallmoney</PHNAME>
  4294. <LLENGTH>0</LLENGTH>
  4295. <LDECIMAL>0</LDECIMAL>
  4296. <MAXLENGTH>0</MAXLENGTH>
  4297. <MINLENGTH>0</MINLENGTH>
  4298. <MAXDECIMAL>0</MAXDECIMAL>
  4299. <MINDECIMAL>0</MINDECIMAL>
  4300. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4301. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4302. <TRANSFORMCODE>MN</TRANSFORMCODE>
  4303. <TRANSFORMTO>F;N,10,2;</TRANSFORMTO>
  4304. <EXPORTTO>0</EXPORTTO>
  4305. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4306. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4307. <ODBCTYPE>0</ODBCTYPE>
  4308. <BDETYPE>0</BDETYPE>
  4309. </TYPE>
  4310. <TYPE>
  4311. <NAME>Numeric</NAME>
  4312. <ID>90</ID>
  4313. <GUID>{B200E99B-3255-11D4-8604-00C026D00180}</GUID>
  4314. <PHNAME>Numeric</PHNAME>
  4315. <LLENGTH>1</LLENGTH>
  4316. <LDECIMAL>1</LDECIMAL>
  4317. <MAXLENGTH>30</MAXLENGTH>
  4318. <MINLENGTH>1</MINLENGTH>
  4319. <MAXDECIMAL>30</MAXDECIMAL>
  4320. <MINDECIMAL>0</MINDECIMAL>
  4321. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  4322. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4323. <TRANSFORMCODE>N</TRANSFORMCODE>
  4324. <TRANSFORMTO>DC;LF;F;</TRANSFORMTO>
  4325. <EXPORTTO>0</EXPORTTO>
  4326. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4327. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4328. <ODBCTYPE>0</ODBCTYPE>
  4329. <BDETYPE>0</BDETYPE>
  4330. </TYPE>
  4331. <TYPE>
  4332. <NAME>Decimal</NAME>
  4333. <ID>100</ID>
  4334. <GUID>{B200E99C-3255-11D4-8604-00C026D00180}</GUID>
  4335. <PHNAME>Decimal</PHNAME>
  4336. <LLENGTH>1</LLENGTH>
  4337. <LDECIMAL>1</LDECIMAL>
  4338. <MAXLENGTH>30</MAXLENGTH>
  4339. <MINLENGTH>1</MINLENGTH>
  4340. <MAXDECIMAL>30</MAXDECIMAL>
  4341. <MINDECIMAL>0</MINDECIMAL>
  4342. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  4343. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4344. <TRANSFORMCODE>DC</TRANSFORMCODE>
  4345. <TRANSFORMTO>N;F;</TRANSFORMTO>
  4346. <EXPORTTO>0</EXPORTTO>
  4347. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4348. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4349. <ODBCTYPE>0</ODBCTYPE>
  4350. <BDETYPE>0</BDETYPE>
  4351. </TYPE>
  4352. <TYPE>
  4353. <NAME>Text</NAME>
  4354. <ID>110</ID>
  4355. <GUID>{B200E99D-3255-11D4-8604-00C026D00180}</GUID>
  4356. <PHNAME>Text</PHNAME>
  4357. <LLENGTH>0</LLENGTH>
  4358. <LDECIMAL>0</LDECIMAL>
  4359. <MAXLENGTH>0</MAXLENGTH>
  4360. <MINLENGTH>0</MINLENGTH>
  4361. <MAXDECIMAL>0</MAXDECIMAL>
  4362. <MINDECIMAL>0</MINDECIMAL>
  4363. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4364. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4365. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  4366. <TRANSFORMTO>BIN;LBIN;BLOB;</TRANSFORMTO>
  4367. <EXPORTTO>0</EXPORTTO>
  4368. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4369. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4370. <ODBCTYPE>0</ODBCTYPE>
  4371. <BDETYPE>0</BDETYPE>
  4372. </TYPE>
  4373. <TYPE>
  4374. <NAME>Ntext</NAME>
  4375. <ID>115</ID>
  4376. <GUID>{B200E99E-3255-11D4-8604-00C026D00180}</GUID>
  4377. <PHNAME>Ntext</PHNAME>
  4378. <LLENGTH>0</LLENGTH>
  4379. <LDECIMAL>0</LDECIMAL>
  4380. <MAXLENGTH>0</MAXLENGTH>
  4381. <MINLENGTH>0</MINLENGTH>
  4382. <MAXDECIMAL>0</MAXDECIMAL>
  4383. <MINDECIMAL>0</MINDECIMAL>
  4384. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4385. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4386. <TRANSFORMCODE>NTXT</TRANSFORMCODE>
  4387. <TRANSFORMTO>TXT;BIN;LBIN;BLOB;</TRANSFORMTO>
  4388. <EXPORTTO>0</EXPORTTO>
  4389. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4390. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4391. <ODBCTYPE>0</ODBCTYPE>
  4392. <BDETYPE>0</BDETYPE>
  4393. </TYPE>
  4394. <TYPE>
  4395. <NAME>Image</NAME>
  4396. <ID>120</ID>
  4397. <GUID>{B200E99F-3255-11D4-8604-00C026D00180}</GUID>
  4398. <PHNAME>Image</PHNAME>
  4399. <LLENGTH>0</LLENGTH>
  4400. <LDECIMAL>0</LDECIMAL>
  4401. <MAXLENGTH>0</MAXLENGTH>
  4402. <MINLENGTH>0</MINLENGTH>
  4403. <MAXDECIMAL>0</MAXDECIMAL>
  4404. <MINDECIMAL>0</MINDECIMAL>
  4405. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4406. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4407. <TRANSFORMCODE>PIC</TRANSFORMCODE>
  4408. <TRANSFORMTO>LBIN;BIN;BLOB;</TRANSFORMTO>
  4409. <EXPORTTO>0</EXPORTTO>
  4410. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4411. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4412. <ODBCTYPE>0</ODBCTYPE>
  4413. <BDETYPE>0</BDETYPE>
  4414. </TYPE>
  4415. <TYPE>
  4416. <NAME>Binary</NAME>
  4417. <ID>130</ID>
  4418. <GUID>{B200E9A0-3255-11D4-8604-00C026D00180}</GUID>
  4419. <PHNAME>Binary</PHNAME>
  4420. <LLENGTH>1</LLENGTH>
  4421. <LDECIMAL>0</LDECIMAL>
  4422. <MAXLENGTH>35000</MAXLENGTH>
  4423. <MINLENGTH>1</MINLENGTH>
  4424. <MAXDECIMAL>0</MAXDECIMAL>
  4425. <MINDECIMAL>0</MINDECIMAL>
  4426. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  4427. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4428. <TRANSFORMCODE>BIN</TRANSFORMCODE>
  4429. <TRANSFORMTO>LBIN;BLOB;</TRANSFORMTO>
  4430. <EXPORTTO>0</EXPORTTO>
  4431. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4432. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4433. <ODBCTYPE>0</ODBCTYPE>
  4434. <BDETYPE>0</BDETYPE>
  4435. </TYPE>
  4436. <TYPE>
  4437. <NAME>Varbinary</NAME>
  4438. <ID>140</ID>
  4439. <GUID>{B200E9A1-3255-11D4-8604-00C026D00180}</GUID>
  4440. <PHNAME>Varbinary</PHNAME>
  4441. <LLENGTH>1</LLENGTH>
  4442. <LDECIMAL>0</LDECIMAL>
  4443. <MAXLENGTH>35000</MAXLENGTH>
  4444. <MINLENGTH>1</MINLENGTH>
  4445. <MAXDECIMAL>0</MAXDECIMAL>
  4446. <MINDECIMAL>0</MINDECIMAL>
  4447. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  4448. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4449. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  4450. <TRANSFORMTO>BIN;BLOB;</TRANSFORMTO>
  4451. <EXPORTTO>0</EXPORTTO>
  4452. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4453. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4454. <ODBCTYPE>0</ODBCTYPE>
  4455. <BDETYPE>0</BDETYPE>
  4456. </TYPE>
  4457. <TYPE>
  4458. <NAME>Bit</NAME>
  4459. <ID>150</ID>
  4460. <GUID>{B200E9A2-3255-11D4-8604-00C026D00180}</GUID>
  4461. <PHNAME>Bit</PHNAME>
  4462. <LLENGTH>0</LLENGTH>
  4463. <LDECIMAL>0</LDECIMAL>
  4464. <MAXLENGTH>0</MAXLENGTH>
  4465. <MINLENGTH>0</MINLENGTH>
  4466. <MAXDECIMAL>0</MAXDECIMAL>
  4467. <MINDECIMAL>0</MINDECIMAL>
  4468. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4469. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4470. <TRANSFORMCODE>BIT</TRANSFORMCODE>
  4471. <TRANSFORMTO>BL;A,1,0;</TRANSFORMTO>
  4472. <EXPORTTO>0</EXPORTTO>
  4473. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4474. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4475. <ODBCTYPE>0</ODBCTYPE>
  4476. <BDETYPE>0</BDETYPE>
  4477. </TYPE>
  4478. <TYPE>
  4479. <NAME>Datetime</NAME>
  4480. <ID>160</ID>
  4481. <GUID>{B200E9A3-3255-11D4-8604-00C026D00180}</GUID>
  4482. <PHNAME>Datetime</PHNAME>
  4483. <LLENGTH>0</LLENGTH>
  4484. <LDECIMAL>0</LDECIMAL>
  4485. <MAXLENGTH>0</MAXLENGTH>
  4486. <MINLENGTH>0</MINLENGTH>
  4487. <MAXDECIMAL>0</MAXDECIMAL>
  4488. <MINDECIMAL>0</MINDECIMAL>
  4489. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4490. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4491. <TRANSFORMCODE>DT</TRANSFORMCODE>
  4492. <TRANSFORMTO>D;</TRANSFORMTO>
  4493. <EXPORTTO>0</EXPORTTO>
  4494. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4495. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4496. <ODBCTYPE>0</ODBCTYPE>
  4497. <BDETYPE>0</BDETYPE>
  4498. </TYPE>
  4499. <TYPE>
  4500. <NAME>Smalldatetime</NAME>
  4501. <ID>170</ID>
  4502. <GUID>{B200E9A4-3255-11D4-8604-00C026D00180}</GUID>
  4503. <PHNAME>Smalldatetime</PHNAME>
  4504. <LLENGTH>0</LLENGTH>
  4505. <LDECIMAL>0</LDECIMAL>
  4506. <MAXLENGTH>0</MAXLENGTH>
  4507. <MINLENGTH>0</MINLENGTH>
  4508. <MAXDECIMAL>0</MAXDECIMAL>
  4509. <MINDECIMAL>0</MINDECIMAL>
  4510. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4511. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4512. <TRANSFORMCODE>DT</TRANSFORMCODE>
  4513. <TRANSFORMTO>D;</TRANSFORMTO>
  4514. <EXPORTTO>0</EXPORTTO>
  4515. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4516. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4517. <ODBCTYPE>0</ODBCTYPE>
  4518. <BDETYPE>0</BDETYPE>
  4519. </TYPE>
  4520. <TYPE>
  4521. <NAME>Timestamp</NAME>
  4522. <ID>180</ID>
  4523. <GUID>{B200E9A5-3255-11D4-8604-00C026D00180}</GUID>
  4524. <PHNAME>Timestamp</PHNAME>
  4525. <LLENGTH>0</LLENGTH>
  4526. <LDECIMAL>0</LDECIMAL>
  4527. <MAXLENGTH>0</MAXLENGTH>
  4528. <MINLENGTH>0</MINLENGTH>
  4529. <MAXDECIMAL>0</MAXDECIMAL>
  4530. <MINDECIMAL>0</MINDECIMAL>
  4531. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4532. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4533. <TRANSFORMCODE>TS</TRANSFORMCODE>
  4534. <TRANSFORMTO>DT;</TRANSFORMTO>
  4535. <EXPORTTO>0</EXPORTTO>
  4536. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4537. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4538. <ODBCTYPE>0</ODBCTYPE>
  4539. <BDETYPE>0</BDETYPE>
  4540. </TYPE>
  4541. <TYPE>
  4542. <NAME>Uniqueidentifier</NAME>
  4543. <ID>185</ID>
  4544. <GUID>{B200E9A6-3255-11D4-8604-00C026D00180}</GUID>
  4545. <PHNAME>Uniqueidentifier</PHNAME>
  4546. <LLENGTH>0</LLENGTH>
  4547. <LDECIMAL>0</LDECIMAL>
  4548. <MAXLENGTH>0</MAXLENGTH>
  4549. <MINLENGTH>0</MINLENGTH>
  4550. <MAXDECIMAL>0</MAXDECIMAL>
  4551. <MINDECIMAL>0</MINDECIMAL>
  4552. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4553. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4554. <TRANSFORMCODE>UI</TRANSFORMCODE>
  4555. <TRANSFORMTO>DC;LF;F;</TRANSFORMTO>
  4556. <EXPORTTO>0</EXPORTTO>
  4557. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4558. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4559. <ODBCTYPE>0</ODBCTYPE>
  4560. <BDETYPE>0</BDETYPE>
  4561. </TYPE>
  4562. <TYPE>
  4563. <NAME>Empty</NAME>
  4564. <ID>200</ID>
  4565. <GUID>{B200E9A7-3255-11D4-8604-00C026D00180}</GUID>
  4566. <PHNAME></PHNAME>
  4567. <LLENGTH>0</LLENGTH>
  4568. <LDECIMAL>0</LDECIMAL>
  4569. <MAXLENGTH>0</MAXLENGTH>
  4570. <MINLENGTH>0</MINLENGTH>
  4571. <MAXDECIMAL>0</MAXDECIMAL>
  4572. <MINDECIMAL>0</MINDECIMAL>
  4573. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  4574. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  4575. <TRANSFORMCODE></TRANSFORMCODE>
  4576. <TRANSFORMTO></TRANSFORMTO>
  4577. <EXPORTTO>0</EXPORTTO>
  4578. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  4579. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  4580. <ODBCTYPE>0</ODBCTYPE>
  4581. <BDETYPE>0</BDETYPE>
  4582. </TYPE>
  4583. </TYPELIST>
  4584. <MAXLENGTHTABLENAME>100</MAXLENGTHTABLENAME>
  4585. <MAXLENGTHCOLNAME>100</MAXLENGTHCOLNAME>
  4586. <MAXLENGTHINDEXNAME>100</MAXLENGTHINDEXNAME>
  4587. <DEFAULTCHAR>_</DEFAULTCHAR>
  4588. <INVALIDCHARACTERS> !"#$%&'()*+,/:;<=>?@</INVALIDCHARACTERS>
  4589. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  4590. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  4591. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  4592. </SERVER>
  4593. <SERVER>
  4594. <NAME>Ingres</NAME>
  4595. <ID>70</ID>
  4596. <GUID>{B200E9C5-3255-11D4-8604-00C026D00180}</GUID>
  4597. <TEMPLATES>
  4598. <TEMPLATE>
  4599. <NAME>CREATEDATABASE</NAME>
  4600. <ID>97</ID>
  4601. <GUID>{B200E9DD-3255-11D4-8604-00C026D00180}</GUID>
  4602. <ENABLED>1</ENABLED>
  4603. <LEVEL>0</LEVEL>
  4604. <IDPARENT>0</IDPARENT>
  4605. <VALUE><![CDATA[/*
  4606. Created        %createddate%
  4607. Modified        %modifieddate%
  4608. Project        %projectname%
  4609. Model        %modelname%
  4610. Company        %company%
  4611. Author        %authorname%
  4612. Version        %version%
  4613. Database        %databasetype% 
  4614. */
  4615.  
  4616. {lbeforescript}
  4617. %beforescript%
  4618. {lDropTableGener}
  4619. @showmessage("Drop tables")
  4620. @template(DropTables)
  4621. {lTableGener}
  4622. @showmessage("Create tables")
  4623. @template(createtables)
  4624. {lDropIndexGener}
  4625. @template(DropIndexs)
  4626. {lIndexGener}
  4627. @showmessage("Create indexes")
  4628. @template(createindexs)
  4629. {lTriggersUserGener}
  4630. @fortable("", "", usertrigger, "", "" )
  4631. {true}
  4632. @template(createtriggers)
  4633. @template(CreateRules)
  4634. {lRoleGener}
  4635. @showmessage("Role")
  4636. @template(CreateRole)
  4637. {lUserToRoleGener}
  4638. @ShowMessage("Users permissions to roles")
  4639. @template(GrantUserToRole)
  4640. {lRolePermissGener}
  4641. @ShowMessage("Roles permissions")
  4642. @template(CreateRolePermiss)
  4643. {lUserPermissGener}
  4644. @ShowMessage("Users permissions")
  4645. @template(CreateUserPermiss)
  4646. {lafterscript}
  4647. %afterscript%
  4648. {true}
  4649. @template(UserTempl) 
  4650. ]]></VALUE>
  4651. <LANGUAGE>0</LANGUAGE>
  4652. <CATEGORY>0</CATEGORY>
  4653. </TEMPLATE>
  4654. <TEMPLATE>
  4655. <NAME>CREATETABLES</NAME>
  4656. <ID>98</ID>
  4657. <GUID>{B200E9DE-3255-11D4-8604-00C026D00180}</GUID>
  4658. <ENABLED>1</ENABLED>
  4659. <LEVEL>0</LEVEL>
  4660. <IDPARENT>0</IDPARENT>
  4661. <VALUE><![CDATA[@fortable("", "", macro(createtable), "", "" )
  4662. ]]></VALUE>
  4663. <LANGUAGE>0</LANGUAGE>
  4664. <CATEGORY>0</CATEGORY>
  4665. </TEMPLATE>
  4666. <TEMPLATE>
  4667. <NAME>CREATETABLE</NAME>
  4668. <ID>99</ID>
  4669. <GUID>{B200E9DF-3255-11D4-8604-00C026D00180}</GUID>
  4670. <ENABLED>1</ENABLED>
  4671. <LEVEL>0</LEVEL>
  4672. <IDPARENT>0</IDPARENT>
  4673. <VALUE><![CDATA[cr+
  4674. "Create table %tablename% ("+
  4675. forcol("", "", cr+tb+"%ColName% %typsql%"+ if(defexist," %defvalue%", "")+
  4676. if(defaultexist," Default "+defaultvalue  ,"")+
  4677. if(notnull," NOT NULL","")+if(checkexist," Check ("+ evalcheck+" )","")+if(def2exist," %def2value%", "") , ",", "")+
  4678. if(existpk and lPkGener, ",%cr%"+ if(lPkAsConstraint,"Constraint pk_%tablename% ","")+"Primary Key ("+forpkcol("", "", ColName, ",", ")"+cr) , cr )+
  4679. forParent("", "", template(refintegrity), "", "" )+
  4680. ") "+tablestorage+";"+cr+showmessage("Table %tablename%")
  4681. ]]></VALUE>
  4682. <LANGUAGE>0</LANGUAGE>
  4683. <CATEGORY>0</CATEGORY>
  4684. </TEMPLATE>
  4685. <TEMPLATE>
  4686. <NAME>CREATEINDEXS</NAME>
  4687. <ID>100</ID>
  4688. <GUID>{B200E9E0-3255-11D4-8604-00C026D00180}</GUID>
  4689. <ENABLED>1</ENABLED>
  4690. <LEVEL>0</LEVEL>
  4691. <IDPARENT>0</IDPARENT>
  4692. <VALUE><![CDATA[{lindexexist}
  4693. @fortable("","",forindex("", "", macro(createindex), "", "" ),"","")
  4694. ]]></VALUE>
  4695. <LANGUAGE>0</LANGUAGE>
  4696. <CATEGORY>0</CATEGORY>
  4697. </TEMPLATE>
  4698. <TEMPLATE>
  4699. <NAME>CREATEINDEX</NAME>
  4700. <ID>101</ID>
  4701. <GUID>{B200E9E1-3255-11D4-8604-00C026D00180}</GUID>
  4702. <ENABLED>1</ENABLED>
  4703. <LEVEL>0</LEVEL>
  4704. <IDPARENT>0</IDPARENT>
  4705. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  4706. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname+" "+if(IndexColDesc,"Desc",""),",",") "+indexstorage+" ;")+cr
  4707. +ShowMessage("Index %Indexname% for table %tablename%")
  4708. ]]></VALUE>
  4709. <LANGUAGE>0</LANGUAGE>
  4710. <CATEGORY>0</CATEGORY>
  4711. </TEMPLATE>
  4712. <TEMPLATE>
  4713. <NAME>DROPINDEXS</NAME>
  4714. <ID>102</ID>
  4715. <GUID>{B200E9E2-3255-11D4-8604-00C026D00180}</GUID>
  4716. <ENABLED>1</ENABLED>
  4717. <LEVEL>0</LEVEL>
  4718. <IDPARENT>0</IDPARENT>
  4719. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname%;%cr%", "", "" ),"","")
  4720. ]]></VALUE>
  4721. <LANGUAGE>0</LANGUAGE>
  4722. <CATEGORY>0</CATEGORY>
  4723. </TEMPLATE>
  4724. <TEMPLATE>
  4725. <NAME>REFINTEGRITY</NAME>
  4726. <ID>104</ID>
  4727. <GUID>{B200E9E3-3255-11D4-8604-00C026D00180}</GUID>
  4728. <ENABLED>1</ENABLED>
  4729. <LEVEL>0</LEVEL>
  4730. <IDPARENT>0</IDPARENT>
  4731. <VALUE><![CDATA[{lRelAnyDekl and lRefIntegGener}
  4732. ,foreign key (%childkeys%) references %parenttablename% (%parentkeys%)
  4733. ]]></VALUE>
  4734. <LANGUAGE>0</LANGUAGE>
  4735. <CATEGORY>0</CATEGORY>
  4736. </TEMPLATE>
  4737. <TEMPLATE>
  4738. <NAME>CREATETRIGGERUPDATE</NAME>
  4739. <ID>106</ID>
  4740. <GUID>{B200E9E4-3255-11D4-8604-00C026D00180}</GUID>
  4741. <ENABLED>1</ENABLED>
  4742. <LEVEL>0</LEVEL>
  4743. <IDPARENT>0</IDPARENT>
  4744. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  4745. /* Update procedure pro %tablename% */
  4746. @if(lDropTriggerGener,"drop procedure pu_%tablename%;%cr%", "")
  4747. @showmessage("Update procedure for %tablename%")
  4748. CREATE Procedure pu_%tablename%  ( 
  4749.      @ForPFkcol("", "", "old_%colname%=%typSql%,", "%cr%", "")
  4750.      @ForPFkcol("", "", "new_%colname%=%typSql%", ",%cr%", "")
  4751. ) As
  4752. declare
  4753. errno   = integer not null;
  4754. errmsg  = varchar(255) not null;
  4755. numrows = integer;
  4756.  
  4757. begin
  4758.      @forchild( "", "", template(triggerparentupdate), "", "" ) 
  4759.      @forparent("", "", template(triggerchildupdate), "", "" )
  4760. end;
  4761.  
  4762.  
  4763. ]]></VALUE>
  4764. <LANGUAGE>0</LANGUAGE>
  4765. <CATEGORY>0</CATEGORY>
  4766. </TEMPLATE>
  4767. <TEMPLATE>
  4768. <NAME>CREATETRIGGERINSERT</NAME>
  4769. <ID>107</ID>
  4770. <GUID>{B200E9E5-3255-11D4-8604-00C026D00180}</GUID>
  4771. <ENABLED>1</ENABLED>
  4772. <LEVEL>0</LEVEL>
  4773. <IDPARENT>0</IDPARENT>
  4774. <VALUE><![CDATA[{lEntChildInsTrig  }
  4775. /* Insert procedure pro %tablename% */
  4776. @if(lDropTriggerGener,"drop procedure pi_%tablename%;%cr%", "")
  4777. @showmessage("Insert procedure for %tablename%")
  4778. CREATE Procedure pi_%tablename%  ( 
  4779.      @ForPFkcol("", "", "new_%colname%=%typSql%", ",%cr%", "")
  4780. ) As
  4781. declare
  4782. errno   = integer not null;
  4783. errmsg  = varchar(255) not null;
  4784. numrows = integer;
  4785.  
  4786. begin
  4787.      @forparent("", "", template(TriggerParentInsert), "", "")
  4788. end;
  4789.  
  4790. ]]></VALUE>
  4791. <LANGUAGE>0</LANGUAGE>
  4792. <CATEGORY>0</CATEGORY>
  4793. </TEMPLATE>
  4794. <TEMPLATE>
  4795. <NAME>CREATETRIGGERDELETE</NAME>
  4796. <ID>108</ID>
  4797. <GUID>{B200E9E6-3255-11D4-8604-00C026D00180}</GUID>
  4798. <ENABLED>1</ENABLED>
  4799. <LEVEL>0</LEVEL>
  4800. <IDPARENT>0</IDPARENT>
  4801. <VALUE><![CDATA[{lEntParDelTrig}
  4802. /* Delete procedure pro %tablename% */
  4803. @if(lDropTriggerGener,"drop procedure pd_%tablename%;%cr%", "")
  4804. @showmessage("Delete procedure for %tablename%")
  4805. CREATE Procedure pd_%tablename%  ( 
  4806.      @ForPkcol("", "", "old_%colname%=%typSql%", ",%cr%", "")
  4807. ) As
  4808. declare
  4809. errno   = integer not null;
  4810. errmsg  = varchar(255) not null;
  4811. numrows = integer;
  4812.  
  4813. begin
  4814.      @forchild( "", "", template(TriggerParentDelete), "", "" ) 
  4815. end;
  4816.  
  4817. ]]></VALUE>
  4818. <LANGUAGE>0</LANGUAGE>
  4819. <CATEGORY>0</CATEGORY>
  4820. </TEMPLATE>
  4821. <TEMPLATE>
  4822. <NAME>TRIGGERPARENTUPDATE</NAME>
  4823. <ID>109</ID>
  4824. <GUID>{B200E9E7-3255-11D4-8604-00C026D00180}</GUID>
  4825. <ENABLED>1</ENABLED>
  4826. <LEVEL>0</LEVEL>
  4827. <IDPARENT>0</IDPARENT>
  4828. <VALUE><![CDATA[{ParUpdCascade and  (not lParUpdCascDekl)}
  4829. /* cascade child %childtablename% update when parent %parenttablename% changed */
  4830.  
  4831. IF     @forrelpk( "(", tb , "old_%PkParentName% != new_%PkParentName%", " OR %cr%", ") " ) then
  4832.  
  4833.     update %childtablename%
  4834.     set @ForRelPk( tb , tb , "%PkChildName% = :new_%PkParentName%" , ",%cr%" , "")
  4835.     where @ForRelPk( tb , tb , "%PkChildName% = :old_%PkParentName%" , " AND %cr%", "") ;
  4836. endIF;
  4837.  
  4838. {ParUpdSetNULL and  (not lParUpdSetnullDekl)} 
  4839. /* cascade setnull when parent changed */
  4840.  
  4841. IF     @forrelpk( "(", tb , "old_%PkParentName% != new_%PkParentName%", " OR %cr%", ") " ) then
  4842.  
  4843.     update %childtablename%
  4844.     set @ForRelPk( tb , tb , "%PkChildName% = NULL" , ",%cr%" , "")
  4845.     where @ForRelPk( tb , tb , "%PkChildName% = :old_%PkParentName%" , " AND "+cr, "");
  4846. endIF;
  4847.  
  4848.  
  4849. {ParUpdRestrict and (not lParUpdRestDekl)} 
  4850. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  4851.  
  4852. IF     @forrelpk( "( ", tb , "old_%PkParentName% != new_%PkParentName%", " OR %cr%", ") " ) then
  4853.  
  4854.     select count( * ) 
  4855.     into :numrows
  4856.     from %childtablename%
  4857.     where     @forrelpk( "", "", "%PkChildName% = :old_%PkParentName%", " AND "+cr+tb, "" );
  4858.     
  4859.     IF ( numrows > 0 ) then
  4860.         errno  = 101;
  4861.         errmsg = ' Children still exist in child table. ';
  4862.         raise error :errno :errmsg;
  4863.         return :errno;
  4864.     endIF;
  4865. endIF;
  4866. ]]></VALUE>
  4867. <LANGUAGE>0</LANGUAGE>
  4868. <CATEGORY>0</CATEGORY>
  4869. </TEMPLATE>
  4870. <TEMPLATE>
  4871. <NAME>TRIGGERCHILDUPDATE</NAME>
  4872. <ID>110</ID>
  4873. <GUID>{B200E9E8-3255-11D4-8604-00C026D00180}</GUID>
  4874. <ENABLED>1</ENABLED>
  4875. <LEVEL>0</LEVEL>
  4876. <IDPARENT>0</IDPARENT>
  4877. <VALUE><![CDATA[{ChildUpdRestrict and (not lChildUpdRestDekl)}
  4878. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  4879.       
  4880. select count( * ) 
  4881. into :numrows
  4882. from %ParentTableName%
  4883. where     @forrelpk( "", "", "new_%PkChildName% =  %PkParentName%", " AND "+cr+tb, "" );
  4884.     
  4885. IF ( numrows = 0 ) then
  4886.     errno  = 102;
  4887.     errmsg = 'Parent does not exist. Cannot update child.';
  4888.     raise error :errno :errmsg;
  4889.     return :errno;         
  4890. endIF;
  4891. ]]></VALUE>
  4892. <LANGUAGE>0</LANGUAGE>
  4893. <CATEGORY>0</CATEGORY>
  4894. </TEMPLATE>
  4895. <TEMPLATE>
  4896. <NAME>TRIGGERPARENTDELETE</NAME>
  4897. <ID>111</ID>
  4898. <GUID>{B200E9E9-3255-11D4-8604-00C026D00180}</GUID>
  4899. <ENABLED>1</ENABLED>
  4900. <LEVEL>0</LEVEL>
  4901. <IDPARENT>0</IDPARENT>
  4902. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  4903. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  4904.  
  4905.  
  4906.     delete from %childtablename%
  4907.     where @ForRelPk( tb , tb , "%PkChildName% = :old_%PkParentName%" , " AND %cr%", "");
  4908.  
  4909.  
  4910. {ParDelSetNULL and (not lParDelSEtnullDekl)} 
  4911. /* cascade setnull when parent deleted */
  4912.  
  4913.  
  4914.     update %childtablename%
  4915.     set @ForRelPk( tb , tb , "%PkChildName% = NULL" , ",%cr%" , "")
  4916.     where @ForRelPk( tb , tb , "%PkChildName% = :old_%PkParentName%" , " AND "+cr, "");
  4917.  
  4918.  
  4919. {ParDelRestrict and (not lParDelRestDekl)} 
  4920. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  4921.  
  4922.  
  4923.     select count( * ) 
  4924.     into :numrows
  4925.     from %childtablename%
  4926.     where     @forrelpk( "", "", "%PkChildName% =  :old_%PkParentName%", " AND "+cr+tb, "" );
  4927.     
  4928.     IF ( numrows > 0 ) then
  4929.         errno  = 103;
  4930.         errmsg = ' Children still exist in child table. Cannot delete parent ';
  4931.         raise error :errno :errmsg;
  4932.         return :errno; 
  4933.     endIF;
  4934. ]]></VALUE>
  4935. <LANGUAGE>0</LANGUAGE>
  4936. <CATEGORY>0</CATEGORY>
  4937. </TEMPLATE>
  4938. <TEMPLATE>
  4939. <NAME>TRIGGERPARENTINSERT</NAME>
  4940. <ID>112</ID>
  4941. <GUID>{B200E9EA-3255-11D4-8604-00C026D00180}</GUID>
  4942. <ENABLED>1</ENABLED>
  4943. <LEVEL>0</LEVEL>
  4944. <IDPARENT>0</IDPARENT>
  4945. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  4946. /* restrict parent %parenttablename% when child %childtablename% insert */
  4947.  
  4948. select count( * ) 
  4949. into :numrows
  4950. from %ParentTableName%
  4951. where     @forrelpk( "", "", ":new_%PkChildName% =  %PkParentName%", " AND "+cr+tb, ";" )
  4952.     
  4953. IF ( numrows = 0 ) then
  4954.     errno  = 104;
  4955.     errmsg = ' Parent does not exist. Cannot create child.';
  4956.     raise error :errno :errmsg;
  4957.     return :errno;         
  4958.         
  4959. endIf;
  4960.  
  4961. ]]></VALUE>
  4962. <LANGUAGE>0</LANGUAGE>
  4963. <CATEGORY>0</CATEGORY>
  4964. </TEMPLATE>
  4965. <TEMPLATE>
  4966. <NAME>CREATERULES</NAME>
  4967. <ID>113</ID>
  4968. <GUID>{B200E9EB-3255-11D4-8604-00C026D00180}</GUID>
  4969. <ENABLED>1</ENABLED>
  4970. <LEVEL>0</LEVEL>
  4971. <IDPARENT>0</IDPARENT>
  4972. <VALUE><![CDATA[{lTriggersGener}
  4973.  
  4974. @fortable("", "", template(createRuleUpdate), "", "")
  4975. @fortable("", "", template(createRuleDelete), "", "")
  4976. @fortable("", "", template(createRuleInsert), "", "")
  4977.  
  4978. ]]></VALUE>
  4979. <LANGUAGE>0</LANGUAGE>
  4980. <CATEGORY>0</CATEGORY>
  4981. </TEMPLATE>
  4982. <TEMPLATE>
  4983. <NAME>CREATERULEUPDATE</NAME>
  4984. <ID>114</ID>
  4985. <GUID>{B200E9EC-3255-11D4-8604-00C026D00180}</GUID>
  4986. <ENABLED>1</ENABLED>
  4987. <LEVEL>0</LEVEL>
  4988. <IDPARENT>0</IDPARENT>
  4989. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  4990. /* Update Rule pro %tablename% */
  4991.  
  4992. CREATE RULE Ru_%tablename% After Update Of %tablename% @showmessage("Trigger for %tablename% ")
  4993.     Execute Procedure Pu_%tablename% (
  4994. @ForPFkCol("", "", "%tb%old_%Colname%=old.%Colname%,", "%cr%", "" )
  4995. @ForPFkCol("", "", "%tb%new_%Colname%=new.%Colname%", ",%cr%", "" )
  4996. );
  4997. ]]></VALUE>
  4998. <LANGUAGE>0</LANGUAGE>
  4999. <CATEGORY>0</CATEGORY>
  5000. </TEMPLATE>
  5001. <TEMPLATE>
  5002. <NAME>CREATERULEDELETE</NAME>
  5003. <ID>115</ID>
  5004. <GUID>{B200E9ED-3255-11D4-8604-00C026D00180}</GUID>
  5005. <ENABLED>1</ENABLED>
  5006. <LEVEL>0</LEVEL>
  5007. <IDPARENT>0</IDPARENT>
  5008. <VALUE><![CDATA[{lEntParDelTrig}
  5009. /* Delete Rule pro %tablename% */
  5010.  
  5011. CREATE RULE Rd_%tablename% After Delete Of %tablename% @showmessage("Trigger for %tablename% ")
  5012.     Execute Procedure Pd_%tablename% (
  5013. @ForPkCol("", "", "%tb%old_%Colname%=old.%Colname%", ",%cr%", "" )
  5014. );
  5015. ]]></VALUE>
  5016. <LANGUAGE>0</LANGUAGE>
  5017. <CATEGORY>0</CATEGORY>
  5018. </TEMPLATE>
  5019. <TEMPLATE>
  5020. <NAME>CREATERULEINSERT</NAME>
  5021. <ID>116</ID>
  5022. <GUID>{B200E9EE-3255-11D4-8604-00C026D00180}</GUID>
  5023. <ENABLED>1</ENABLED>
  5024. <LEVEL>0</LEVEL>
  5025. <IDPARENT>0</IDPARENT>
  5026. <VALUE><![CDATA[{lEntChildInsTrig  }
  5027. /* Insert Rule pro %tablename% */
  5028.  
  5029. CREATE RULE Ri_%tablename% After Insert Of %tablename% @showmessage("Trigger for %tablename% ")
  5030.     Execute Procedure Pi_%tablename% (
  5031. @ForPFkCol("", "", "%tb%new_%Colname%=new.%Colname%", ",%cr%", "" )
  5032. );
  5033. ]]></VALUE>
  5034. <LANGUAGE>0</LANGUAGE>
  5035. <CATEGORY>0</CATEGORY>
  5036. </TEMPLATE>
  5037. <TEMPLATE>
  5038. <NAME>DropTables</NAME>
  5039. <ID>132</ID>
  5040. <GUID>{B200E9EF-3255-11D4-8604-00C026D00180}</GUID>
  5041. <ENABLED>1</ENABLED>
  5042. <LEVEL>0</LEVEL>
  5043. <IDPARENT>0</IDPARENT>
  5044. <VALUE><![CDATA[@ForTable("%cr%", "", "Drop table %tablename%;%cr%", "", "" )
  5045. ]]></VALUE>
  5046. <LANGUAGE>0</LANGUAGE>
  5047. <CATEGORY>0</CATEGORY>
  5048. </TEMPLATE>
  5049. </TEMPLATES>
  5050. <VARIABLES><![CDATA[lPermissUserToRoleSupp 1
  5051. lPermissUserToObjectSupp 1
  5052. lPermissRoleToObjectSupp 1
  5053. lRoleSupp 1
  5054. lDriParUpdRestrict 1
  5055. lDriParUpdCascade 0
  5056. lDriParUpdSetNull 0
  5057. lDriParUpdSetDefault 0
  5058. lDriParDelRestrict 1
  5059. lDriParDelCascade 0
  5060. lDriParDelSetNull 0
  5061. lDriParDelSetDefault 0
  5062. lDriChildInsRestrict 0
  5063. lDriChildUpdRestrict 0
  5064. lDriParUpdRestrictSupp 1
  5065. lDriParUpdCascadeSupp 0
  5066. lDriParUpdSetNullSupp 0
  5067. lDriParUpdSetDefaultSupp 0
  5068. lDriParDelRestrictSupp 1
  5069. lDriParDelCascadeSupp 0
  5070. lDriParDelSetNullSupp 0
  5071. lDriParDelSetDefaultSupp 0
  5072. lDriChildInsRestrictSupp 0
  5073. lDriChildUpdRestrictSupp 0
  5074. lIndexDescendSupp 1
  5075. lIndexItDescendSupp 1
  5076. lIndexUpperSupp 0
  5077. lIndexExprSupp 0
  5078. lIndexUniqueSupp 1
  5079. lIndexFilterSupp 0
  5080. lIndexStandSupp 1
  5081. lIndexClusterSupp 0
  5082. lIndexNameUnique 1
  5083. lPkSupp 1
  5084. lPkNotNull 1
  5085. lDRISupp 1
  5086. lTriggerSupp 1
  5087. lAtrUniqueSupp 0
  5088. lAtrNotNullSupp 1
  5089. lAtrCheckSupp 1
  5090. lAtrDefaultSupp 1
  5091. lPermissUserToRoleSupp 1
  5092. lPermissUserToObjectSupp 1
  5093. lPermissRoleToObjectSupp 1
  5094. lRoleSupp 1
  5095. ]]></VARIABLES>
  5096. <USEREDITS>
  5097. </USEREDITS>
  5098. <TYPELIST>
  5099. <TYPE>
  5100. <NAME>Char</NAME>
  5101. <ID>10</ID>
  5102. <GUID>{B200E9C6-3255-11D4-8604-00C026D00180}</GUID>
  5103. <PHNAME>Char</PHNAME>
  5104. <LLENGTH>1</LLENGTH>
  5105. <LDECIMAL>0</LDECIMAL>
  5106. <MAXLENGTH>2000</MAXLENGTH>
  5107. <MINLENGTH>1</MINLENGTH>
  5108. <MAXDECIMAL>0</MAXDECIMAL>
  5109. <MINDECIMAL>0</MINDECIMAL>
  5110. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  5111. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5112. <TRANSFORMCODE>A</TRANSFORMCODE>
  5113. <TRANSFORMTO>LA;VA;LVA;</TRANSFORMTO>
  5114. <EXPORTTO>0</EXPORTTO>
  5115. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5116. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5117. <ODBCTYPE>0</ODBCTYPE>
  5118. <BDETYPE>0</BDETYPE>
  5119. </TYPE>
  5120. <TYPE>
  5121. <NAME>Varchar</NAME>
  5122. <ID>20</ID>
  5123. <GUID>{B200E9C7-3255-11D4-8604-00C026D00180}</GUID>
  5124. <PHNAME>Varchar</PHNAME>
  5125. <LLENGTH>1</LLENGTH>
  5126. <LDECIMAL>0</LDECIMAL>
  5127. <MAXLENGTH>2000</MAXLENGTH>
  5128. <MINLENGTH>1</MINLENGTH>
  5129. <MAXDECIMAL>0</MAXDECIMAL>
  5130. <MINDECIMAL>0</MINDECIMAL>
  5131. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  5132. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5133. <TRANSFORMCODE>VA</TRANSFORMCODE>
  5134. <TRANSFORMTO>LVA;A;LA;</TRANSFORMTO>
  5135. <EXPORTTO>0</EXPORTTO>
  5136. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5137. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5138. <ODBCTYPE>0</ODBCTYPE>
  5139. <BDETYPE>0</BDETYPE>
  5140. </TYPE>
  5141. <TYPE>
  5142. <NAME>Integer</NAME>
  5143. <ID>30</ID>
  5144. <GUID>{B200E9C8-3255-11D4-8604-00C026D00180}</GUID>
  5145. <PHNAME>Integer</PHNAME>
  5146. <LLENGTH>0</LLENGTH>
  5147. <LDECIMAL>0</LDECIMAL>
  5148. <MAXLENGTH>0</MAXLENGTH>
  5149. <MINLENGTH>0</MINLENGTH>
  5150. <MAXDECIMAL>0</MAXDECIMAL>
  5151. <MINDECIMAL>0</MINDECIMAL>
  5152. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5153. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5154. <TRANSFORMCODE>I</TRANSFORMCODE>
  5155. <TRANSFORMTO>LI;N,10,0;</TRANSFORMTO>
  5156. <EXPORTTO>0</EXPORTTO>
  5157. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5158. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5159. <ODBCTYPE>0</ODBCTYPE>
  5160. <BDETYPE>0</BDETYPE>
  5161. </TYPE>
  5162. <TYPE>
  5163. <NAME>Integer1</NAME>
  5164. <ID>40</ID>
  5165. <GUID>{B200E9C9-3255-11D4-8604-00C026D00180}</GUID>
  5166. <PHNAME>Integer1</PHNAME>
  5167. <LLENGTH>0</LLENGTH>
  5168. <LDECIMAL>0</LDECIMAL>
  5169. <MAXLENGTH>0</MAXLENGTH>
  5170. <MINLENGTH>0</MINLENGTH>
  5171. <MAXDECIMAL>0</MAXDECIMAL>
  5172. <MINDECIMAL>0</MINDECIMAL>
  5173. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5174. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5175. <TRANSFORMCODE>I</TRANSFORMCODE>
  5176. <TRANSFORMTO>LI;N,10,0;</TRANSFORMTO>
  5177. <EXPORTTO>0</EXPORTTO>
  5178. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5179. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5180. <ODBCTYPE>0</ODBCTYPE>
  5181. <BDETYPE>0</BDETYPE>
  5182. </TYPE>
  5183. <TYPE>
  5184. <NAME>Integer2</NAME>
  5185. <ID>50</ID>
  5186. <GUID>{B200E9CA-3255-11D4-8604-00C026D00180}</GUID>
  5187. <PHNAME>Integer2</PHNAME>
  5188. <LLENGTH>0</LLENGTH>
  5189. <LDECIMAL>0</LDECIMAL>
  5190. <MAXLENGTH>0</MAXLENGTH>
  5191. <MINLENGTH>0</MINLENGTH>
  5192. <MAXDECIMAL>0</MAXDECIMAL>
  5193. <MINDECIMAL>0</MINDECIMAL>
  5194. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5195. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5196. <TRANSFORMCODE>I</TRANSFORMCODE>
  5197. <TRANSFORMTO>LI;N,10,0;</TRANSFORMTO>
  5198. <EXPORTTO>0</EXPORTTO>
  5199. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5200. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5201. <ODBCTYPE>0</ODBCTYPE>
  5202. <BDETYPE>0</BDETYPE>
  5203. </TYPE>
  5204. <TYPE>
  5205. <NAME>Integer4</NAME>
  5206. <ID>60</ID>
  5207. <GUID>{B200E9CB-3255-11D4-8604-00C026D00180}</GUID>
  5208. <PHNAME>Integer4</PHNAME>
  5209. <LLENGTH>0</LLENGTH>
  5210. <LDECIMAL>0</LDECIMAL>
  5211. <MAXLENGTH>0</MAXLENGTH>
  5212. <MINLENGTH>0</MINLENGTH>
  5213. <MAXDECIMAL>0</MAXDECIMAL>
  5214. <MINDECIMAL>0</MINDECIMAL>
  5215. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5216. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5217. <TRANSFORMCODE>I</TRANSFORMCODE>
  5218. <TRANSFORMTO>LI;N,10,0;</TRANSFORMTO>
  5219. <EXPORTTO>0</EXPORTTO>
  5220. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5221. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5222. <ODBCTYPE>0</ODBCTYPE>
  5223. <BDETYPE>0</BDETYPE>
  5224. </TYPE>
  5225. <TYPE>
  5226. <NAME>Smallint</NAME>
  5227. <ID>70</ID>
  5228. <GUID>{B200E9CC-3255-11D4-8604-00C026D00180}</GUID>
  5229. <PHNAME>Smallint</PHNAME>
  5230. <LLENGTH>0</LLENGTH>
  5231. <LDECIMAL>0</LDECIMAL>
  5232. <MAXLENGTH>0</MAXLENGTH>
  5233. <MINLENGTH>0</MINLENGTH>
  5234. <MAXDECIMAL>0</MAXDECIMAL>
  5235. <MINDECIMAL>0</MINDECIMAL>
  5236. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5237. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5238. <TRANSFORMCODE>SI</TRANSFORMCODE>
  5239. <TRANSFORMTO>I;LI;N,3,0;</TRANSFORMTO>
  5240. <EXPORTTO>0</EXPORTTO>
  5241. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5242. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5243. <ODBCTYPE>0</ODBCTYPE>
  5244. <BDETYPE>0</BDETYPE>
  5245. </TYPE>
  5246. <TYPE>
  5247. <NAME>Float</NAME>
  5248. <ID>80</ID>
  5249. <GUID>{B200E9CD-3255-11D4-8604-00C026D00180}</GUID>
  5250. <PHNAME>Float</PHNAME>
  5251. <LLENGTH>0</LLENGTH>
  5252. <LDECIMAL>0</LDECIMAL>
  5253. <MAXLENGTH>0</MAXLENGTH>
  5254. <MINLENGTH>0</MINLENGTH>
  5255. <MAXDECIMAL>0</MAXDECIMAL>
  5256. <MINDECIMAL>0</MINDECIMAL>
  5257. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5258. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5259. <TRANSFORMCODE>F</TRANSFORMCODE>
  5260. <TRANSFORMTO>LF;N,15,5;</TRANSFORMTO>
  5261. <EXPORTTO>0</EXPORTTO>
  5262. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5263. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5264. <ODBCTYPE>0</ODBCTYPE>
  5265. <BDETYPE>0</BDETYPE>
  5266. </TYPE>
  5267. <TYPE>
  5268. <NAME>Float4</NAME>
  5269. <ID>90</ID>
  5270. <GUID>{B200E9CE-3255-11D4-8604-00C026D00180}</GUID>
  5271. <PHNAME>Float4</PHNAME>
  5272. <LLENGTH>0</LLENGTH>
  5273. <LDECIMAL>0</LDECIMAL>
  5274. <MAXLENGTH>0</MAXLENGTH>
  5275. <MINLENGTH>0</MINLENGTH>
  5276. <MAXDECIMAL>0</MAXDECIMAL>
  5277. <MINDECIMAL>0</MINDECIMAL>
  5278. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5279. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5280. <TRANSFORMCODE>F</TRANSFORMCODE>
  5281. <TRANSFORMTO>LF;N,15,5;</TRANSFORMTO>
  5282. <EXPORTTO>0</EXPORTTO>
  5283. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5284. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5285. <ODBCTYPE>0</ODBCTYPE>
  5286. <BDETYPE>0</BDETYPE>
  5287. </TYPE>
  5288. <TYPE>
  5289. <NAME>Float8</NAME>
  5290. <ID>100</ID>
  5291. <GUID>{B200E9CF-3255-11D4-8604-00C026D00180}</GUID>
  5292. <PHNAME>Float8</PHNAME>
  5293. <LLENGTH>0</LLENGTH>
  5294. <LDECIMAL>0</LDECIMAL>
  5295. <MAXLENGTH>0</MAXLENGTH>
  5296. <MINLENGTH>0</MINLENGTH>
  5297. <MAXDECIMAL>0</MAXDECIMAL>
  5298. <MINDECIMAL>0</MINDECIMAL>
  5299. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5300. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5301. <TRANSFORMCODE>F</TRANSFORMCODE>
  5302. <TRANSFORMTO>LF;N,15,5;</TRANSFORMTO>
  5303. <EXPORTTO>0</EXPORTTO>
  5304. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5305. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5306. <ODBCTYPE>0</ODBCTYPE>
  5307. <BDETYPE>0</BDETYPE>
  5308. </TYPE>
  5309. <TYPE>
  5310. <NAME>Real</NAME>
  5311. <ID>110</ID>
  5312. <GUID>{B200E9D0-3255-11D4-8604-00C026D00180}</GUID>
  5313. <PHNAME>Real</PHNAME>
  5314. <LLENGTH>0</LLENGTH>
  5315. <LDECIMAL>0</LDECIMAL>
  5316. <MAXLENGTH>0</MAXLENGTH>
  5317. <MINLENGTH>0</MINLENGTH>
  5318. <MAXDECIMAL>0</MAXDECIMAL>
  5319. <MINDECIMAL>0</MINDECIMAL>
  5320. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5321. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5322. <TRANSFORMCODE>F</TRANSFORMCODE>
  5323. <TRANSFORMTO>LF;N,15,5;</TRANSFORMTO>
  5324. <EXPORTTO>0</EXPORTTO>
  5325. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5326. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5327. <ODBCTYPE>0</ODBCTYPE>
  5328. <BDETYPE>0</BDETYPE>
  5329. </TYPE>
  5330. <TYPE>
  5331. <NAME>Money</NAME>
  5332. <ID>120</ID>
  5333. <GUID>{B200E9D1-3255-11D4-8604-00C026D00180}</GUID>
  5334. <PHNAME>Money</PHNAME>
  5335. <LLENGTH>0</LLENGTH>
  5336. <LDECIMAL>0</LDECIMAL>
  5337. <MAXLENGTH>0</MAXLENGTH>
  5338. <MINLENGTH>0</MINLENGTH>
  5339. <MAXDECIMAL>0</MAXDECIMAL>
  5340. <MINDECIMAL>0</MINDECIMAL>
  5341. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5342. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5343. <TRANSFORMCODE>MN</TRANSFORMCODE>
  5344. <TRANSFORMTO>F;N,15,5;</TRANSFORMTO>
  5345. <EXPORTTO>0</EXPORTTO>
  5346. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5347. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5348. <ODBCTYPE>0</ODBCTYPE>
  5349. <BDETYPE>0</BDETYPE>
  5350. </TYPE>
  5351. <TYPE>
  5352. <NAME>Double precision</NAME>
  5353. <ID>130</ID>
  5354. <GUID>{B200E9D2-3255-11D4-8604-00C026D00180}</GUID>
  5355. <PHNAME>Double precision</PHNAME>
  5356. <LLENGTH>0</LLENGTH>
  5357. <LDECIMAL>0</LDECIMAL>
  5358. <MAXLENGTH>0</MAXLENGTH>
  5359. <MINLENGTH>0</MINLENGTH>
  5360. <MAXDECIMAL>0</MAXDECIMAL>
  5361. <MINDECIMAL>0</MINDECIMAL>
  5362. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5363. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5364. <TRANSFORMCODE>F</TRANSFORMCODE>
  5365. <TRANSFORMTO>N,15,2;</TRANSFORMTO>
  5366. <EXPORTTO>0</EXPORTTO>
  5367. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5368. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5369. <ODBCTYPE>0</ODBCTYPE>
  5370. <BDETYPE>0</BDETYPE>
  5371. </TYPE>
  5372. <TYPE>
  5373. <NAME>Text</NAME>
  5374. <ID>140</ID>
  5375. <GUID>{B200E9D3-3255-11D4-8604-00C026D00180}</GUID>
  5376. <PHNAME>Text</PHNAME>
  5377. <LLENGTH>1</LLENGTH>
  5378. <LDECIMAL>0</LDECIMAL>
  5379. <MAXLENGTH>2000</MAXLENGTH>
  5380. <MINLENGTH>1</MINLENGTH>
  5381. <MAXDECIMAL>0</MAXDECIMAL>
  5382. <MINDECIMAL>0</MINDECIMAL>
  5383. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  5384. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5385. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  5386. <TRANSFORMTO>LVA;LA;BIN;LBIN;</TRANSFORMTO>
  5387. <EXPORTTO>0</EXPORTTO>
  5388. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5389. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5390. <ODBCTYPE>0</ODBCTYPE>
  5391. <BDETYPE>0</BDETYPE>
  5392. </TYPE>
  5393. <TYPE>
  5394. <NAME>Date</NAME>
  5395. <ID>150</ID>
  5396. <GUID>{B200E9D4-3255-11D4-8604-00C026D00180}</GUID>
  5397. <PHNAME>Date</PHNAME>
  5398. <LLENGTH>0</LLENGTH>
  5399. <LDECIMAL>0</LDECIMAL>
  5400. <MAXLENGTH>0</MAXLENGTH>
  5401. <MINLENGTH>0</MINLENGTH>
  5402. <MAXDECIMAL>0</MAXDECIMAL>
  5403. <MINDECIMAL>0</MINDECIMAL>
  5404. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5405. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5406. <TRANSFORMCODE>D</TRANSFORMCODE>
  5407. <TRANSFORMTO>DT;</TRANSFORMTO>
  5408. <EXPORTTO>0</EXPORTTO>
  5409. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5410. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5411. <ODBCTYPE>0</ODBCTYPE>
  5412. <BDETYPE>0</BDETYPE>
  5413. </TYPE>
  5414. <TYPE>
  5415. <NAME>C</NAME>
  5416. <ID>160</ID>
  5417. <GUID>{B200E9D5-3255-11D4-8604-00C026D00180}</GUID>
  5418. <PHNAME>C</PHNAME>
  5419. <LLENGTH>1</LLENGTH>
  5420. <LDECIMAL>0</LDECIMAL>
  5421. <MAXLENGTH>2000</MAXLENGTH>
  5422. <MINLENGTH>1</MINLENGTH>
  5423. <MAXDECIMAL>0</MAXDECIMAL>
  5424. <MINDECIMAL>0</MINDECIMAL>
  5425. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  5426. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5427. <TRANSFORMCODE>A</TRANSFORMCODE>
  5428. <TRANSFORMTO>LA;VA;LVA;</TRANSFORMTO>
  5429. <EXPORTTO>0</EXPORTTO>
  5430. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5431. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5432. <ODBCTYPE>0</ODBCTYPE>
  5433. <BDETYPE>0</BDETYPE>
  5434. </TYPE>
  5435. <TYPE>
  5436. <NAME>Decimal</NAME>
  5437. <ID>170</ID>
  5438. <GUID>{B200E9D6-3255-11D4-8604-00C026D00180}</GUID>
  5439. <PHNAME>Decimal</PHNAME>
  5440. <LLENGTH>1</LLENGTH>
  5441. <LDECIMAL>1</LDECIMAL>
  5442. <MAXLENGTH>32</MAXLENGTH>
  5443. <MINLENGTH>1</MINLENGTH>
  5444. <MAXDECIMAL>32</MAXDECIMAL>
  5445. <MINDECIMAL>0</MINDECIMAL>
  5446. <DEFAULTLENGTH>6</DEFAULTLENGTH>
  5447. <DEFAULTDECIMAL>1</DEFAULTDECIMAL>
  5448. <TRANSFORMCODE>DC</TRANSFORMCODE>
  5449. <TRANSFORMTO>N;F;LF;</TRANSFORMTO>
  5450. <EXPORTTO>0</EXPORTTO>
  5451. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5452. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5453. <ODBCTYPE>0</ODBCTYPE>
  5454. <BDETYPE>0</BDETYPE>
  5455. </TYPE>
  5456. <TYPE>
  5457. <NAME>Byte</NAME>
  5458. <ID>180</ID>
  5459. <GUID>{B200E9D7-3255-11D4-8604-00C026D00180}</GUID>
  5460. <PHNAME>Byte</PHNAME>
  5461. <LLENGTH>1</LLENGTH>
  5462. <LDECIMAL>0</LDECIMAL>
  5463. <MAXLENGTH>2000</MAXLENGTH>
  5464. <MINLENGTH>1</MINLENGTH>
  5465. <MAXDECIMAL>0</MAXDECIMAL>
  5466. <MINDECIMAL>0</MINDECIMAL>
  5467. <DEFAULTLENGTH>10</DEFAULTLENGTH>
  5468. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5469. <TRANSFORMCODE>BIN</TRANSFORMCODE>
  5470. <TRANSFORMTO>LBIN;</TRANSFORMTO>
  5471. <EXPORTTO>0</EXPORTTO>
  5472. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5473. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5474. <ODBCTYPE>0</ODBCTYPE>
  5475. <BDETYPE>0</BDETYPE>
  5476. </TYPE>
  5477. <TYPE>
  5478. <NAME>Long varchar</NAME>
  5479. <ID>190</ID>
  5480. <GUID>{B200E9D8-3255-11D4-8604-00C026D00180}</GUID>
  5481. <PHNAME>Long varchar</PHNAME>
  5482. <LLENGTH>0</LLENGTH>
  5483. <LDECIMAL>0</LDECIMAL>
  5484. <MAXLENGTH>0</MAXLENGTH>
  5485. <MINLENGTH>0</MINLENGTH>
  5486. <MAXDECIMAL>0</MAXDECIMAL>
  5487. <MINDECIMAL>0</MINDECIMAL>
  5488. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5489. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5490. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  5491. <TRANSFORMTO>BIN;</TRANSFORMTO>
  5492. <EXPORTTO>0</EXPORTTO>
  5493. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5494. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5495. <ODBCTYPE>0</ODBCTYPE>
  5496. <BDETYPE>0</BDETYPE>
  5497. </TYPE>
  5498. <TYPE>
  5499. <NAME>Table key</NAME>
  5500. <ID>200</ID>
  5501. <GUID>{B200E9D9-3255-11D4-8604-00C026D00180}</GUID>
  5502. <PHNAME>Table key</PHNAME>
  5503. <LLENGTH>0</LLENGTH>
  5504. <LDECIMAL>0</LDECIMAL>
  5505. <MAXLENGTH>0</MAXLENGTH>
  5506. <MINLENGTH>0</MINLENGTH>
  5507. <MAXDECIMAL>0</MAXDECIMAL>
  5508. <MINDECIMAL>0</MINDECIMAL>
  5509. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5510. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5511. <TRANSFORMCODE>NO</TRANSFORMCODE>
  5512. <TRANSFORMTO></TRANSFORMTO>
  5513. <EXPORTTO>10</EXPORTTO>
  5514. <EXPORTTOLENGTH>8</EXPORTTOLENGTH>
  5515. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5516. <ODBCTYPE>0</ODBCTYPE>
  5517. <BDETYPE>0</BDETYPE>
  5518. </TYPE>
  5519. <TYPE>
  5520. <NAME>Object key</NAME>
  5521. <ID>210</ID>
  5522. <GUID>{B200E9DA-3255-11D4-8604-00C026D00180}</GUID>
  5523. <PHNAME>Object key</PHNAME>
  5524. <LLENGTH>0</LLENGTH>
  5525. <LDECIMAL>0</LDECIMAL>
  5526. <MAXLENGTH>0</MAXLENGTH>
  5527. <MINLENGTH>0</MINLENGTH>
  5528. <MAXDECIMAL>0</MAXDECIMAL>
  5529. <MINDECIMAL>0</MINDECIMAL>
  5530. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5531. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5532. <TRANSFORMCODE>NO</TRANSFORMCODE>
  5533. <TRANSFORMTO></TRANSFORMTO>
  5534. <EXPORTTO>0</EXPORTTO>
  5535. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5536. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5537. <ODBCTYPE>0</ODBCTYPE>
  5538. <BDETYPE>0</BDETYPE>
  5539. </TYPE>
  5540. <TYPE>
  5541. <NAME>Long byte</NAME>
  5542. <ID>220</ID>
  5543. <GUID>{B200E9DB-3255-11D4-8604-00C026D00180}</GUID>
  5544. <PHNAME>Long byte</PHNAME>
  5545. <LLENGTH>0</LLENGTH>
  5546. <LDECIMAL>0</LDECIMAL>
  5547. <MAXLENGTH>0</MAXLENGTH>
  5548. <MINLENGTH>0</MINLENGTH>
  5549. <MAXDECIMAL>0</MAXDECIMAL>
  5550. <MINDECIMAL>0</MINDECIMAL>
  5551. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5552. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5553. <TRANSFORMCODE>LBIN</TRANSFORMCODE>
  5554. <TRANSFORMTO>BIN;</TRANSFORMTO>
  5555. <EXPORTTO>0</EXPORTTO>
  5556. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5557. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5558. <ODBCTYPE>0</ODBCTYPE>
  5559. <BDETYPE>0</BDETYPE>
  5560. </TYPE>
  5561. <TYPE>
  5562. <NAME>Empty</NAME>
  5563. <ID>400</ID>
  5564. <GUID>{B200E9DC-3255-11D4-8604-00C026D00180}</GUID>
  5565. <PHNAME></PHNAME>
  5566. <LLENGTH>0</LLENGTH>
  5567. <LDECIMAL>0</LDECIMAL>
  5568. <MAXLENGTH>0</MAXLENGTH>
  5569. <MINLENGTH>0</MINLENGTH>
  5570. <MAXDECIMAL>0</MAXDECIMAL>
  5571. <MINDECIMAL>0</MINDECIMAL>
  5572. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  5573. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  5574. <TRANSFORMCODE></TRANSFORMCODE>
  5575. <TRANSFORMTO></TRANSFORMTO>
  5576. <EXPORTTO>0</EXPORTTO>
  5577. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  5578. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  5579. <ODBCTYPE>0</ODBCTYPE>
  5580. <BDETYPE>0</BDETYPE>
  5581. </TYPE>
  5582. </TYPELIST>
  5583. <MAXLENGTHTABLENAME>32</MAXLENGTHTABLENAME>
  5584. <MAXLENGTHCOLNAME>32</MAXLENGTHCOLNAME>
  5585. <MAXLENGTHINDEXNAME>32</MAXLENGTHINDEXNAME>
  5586. <DEFAULTCHAR>_</DEFAULTCHAR>
  5587. <INVALIDCHARACTERS></INVALIDCHARACTERS>
  5588. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  5589. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  5590. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  5591. </SERVER>
  5592. <SERVER>
  5593. <NAME>Interbase 5.0</NAME>
  5594. <ID>80</ID>
  5595. <GUID>{B200E9F0-3255-11D4-8604-00C026D00180}</GUID>
  5596. <TEMPLATES>
  5597. <TEMPLATE>
  5598. <NAME>CREATEDATABASE</NAME>
  5599. <ID>142</ID>
  5600. <GUID>{B200E9FC-3255-11D4-8604-00C026D00180}</GUID>
  5601. <ENABLED>1</ENABLED>
  5602. <LEVEL>0</LEVEL>
  5603. <IDPARENT>0</IDPARENT>
  5604. <VALUE><![CDATA[/*
  5605. Created        %createddate%
  5606. Modified        %modifieddate%
  5607. Project        %projectname%
  5608. Model        %modelname%
  5609. Company        %company%
  5610. Author        %authorname%
  5611. Version        %version%
  5612. Database        %databasetype% 
  5613. */
  5614.  
  5615. {lbeforescript}
  5616. %beforescript%
  5617. {lDropProceduresGener}
  5618. @template(DropProcedures)
  5619. {lDropTriggersListGener}
  5620. @template(DropTriggersList)
  5621. {lDropViewsGener}
  5622. @template(DropViews)
  5623. {ldroptriggerGener}
  5624. @showmessage("Drop triggers")
  5625. @template(droptriggers)
  5626. {lDropIndexGener}
  5627. @template(DropIndexs)
  5628. {lDropTableGener}
  5629. @showmessage("Drop tables")
  5630. @template(DropRefIntegritys)
  5631. @template(droptables)
  5632. {lDropDomainGener}
  5633. @showmessage("Drop domains")
  5634. @template(dropdomains)
  5635. {lDropException}
  5636. @template(DropExcept)
  5637. {lDomainGener}
  5638. @showmessage("Create domains")
  5639. @template(CreateDomains)
  5640. {lTableGener}
  5641. @showmessage("Create tables")
  5642. @template(createtables)
  5643. {lalterkeysgener}
  5644. @template(CreateAlterKeys)
  5645. {lIndexGener}
  5646. @showmessage("Create indexes")
  5647. @template(createindexs)
  5648. {lRefIntegGener}
  5649. @template(refintegritys)
  5650. {true}
  5651. set term ^;
  5652. {lCreateException}
  5653. @template(CreateExcept)
  5654. {lProceduresGener}
  5655. @template(CreateProcedures)
  5656. {lViewsGener}
  5657. @template(CreateViews)
  5658. {lTriggersGener}
  5659. @template(createtriggers)
  5660. {lTriggersUserGener}
  5661. @template(CreateTriggersList)
  5662. {true}
  5663. set term ;^
  5664. {lRoleGener}
  5665. @showmessage("Roles")
  5666. @template(CreateRole)
  5667. {lUserToRoleGener}
  5668. @ShowMessage("Users permissions to roles")
  5669. @template(GrantUserToRole)
  5670. {lRolePermissGener}
  5671. @ShowMessage("Roles permissions")
  5672. @template(CreateRolePermiss)
  5673. {lUserPermissGener}
  5674. @ShowMessage("Users permissions")
  5675. @template(CreateUserPermiss)
  5676. {lafterscript}
  5677. %afterscript%
  5678. {true}
  5679. @template(UserTempl)
  5680.  
  5681. ]]></VALUE>
  5682. <LANGUAGE>0</LANGUAGE>
  5683. <CATEGORY>0</CATEGORY>
  5684. </TEMPLATE>
  5685. <TEMPLATE>
  5686. <NAME>CREATETABLE</NAME>
  5687. <ID>144</ID>
  5688. <GUID>{B200E9FD-3255-11D4-8604-00C026D00180}</GUID>
  5689. <ENABLED>1</ENABLED>
  5690. <LEVEL>0</LEVEL>
  5691. <IDPARENT>0</IDPARENT>
  5692. <VALUE><![CDATA[cr+
  5693. "Create table %tablename% %tablestorage% ("+
  5694. forcol("", "", cr+tb+  if(AtrIsDict,macro(CreateAtrib2),macro(CreateAtrib)) , ",", "")+
  5695. if(existpk and lPkGener, ","+cr+if(lPkAsConstraint and (not Empty(ConstraintPkName)),"Constraint %ConstraintPkName%","")+ " Primary Key ("+forpkcol("", "", ColName, ",", ")"+cr) , cr )+
  5696. ");"+cr+showmessage("Table %tablename%")
  5697. ]]></VALUE>
  5698. <LANGUAGE>0</LANGUAGE>
  5699. <CATEGORY>0</CATEGORY>
  5700. </TEMPLATE>
  5701. <TEMPLATE>
  5702. <NAME>CREATEINDEX</NAME>
  5703. <ID>146</ID>
  5704. <GUID>{B200E9FE-3255-11D4-8604-00C026D00180}</GUID>
  5705. <ENABLED>1</ENABLED>
  5706. <LEVEL>0</LEVEL>
  5707. <IDPARENT>0</IDPARENT>
  5708. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")+if(desc,"DESCENDING ","")
  5709. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname,",",");")+cr
  5710. +ShowMessage("Index %Indexname% for table %tablename%")
  5711. ]]></VALUE>
  5712. <LANGUAGE>0</LANGUAGE>
  5713. <CATEGORY>0</CATEGORY>
  5714. </TEMPLATE>
  5715. <TEMPLATE>
  5716. <NAME>TRIGGERPARENTUPDATE</NAME>
  5717. <ID>148</ID>
  5718. <GUID>{B200E9FF-3255-11D4-8604-00C026D00180}</GUID>
  5719. <ENABLED>1</ENABLED>
  5720. <LEVEL>0</LEVEL>
  5721. <IDPARENT>0</IDPARENT>
  5722. <VALUE><![CDATA[{ParUpdCascade and  (not lParUpdCascDekl)}
  5723. /* cascade child %childtablename% update when parent %parenttablename% changed */
  5724.  
  5725. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  5726. begin
  5727.     update %childtablename%
  5728.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = new.%PkParentName%" , ",%cr%" , "")
  5729.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND %cr%", "") ;
  5730. end
  5731.  
  5732. {ParUpdSetNULL and  (not lParUpdSetnullDekl)}
  5733. /* cascade setnull when parent changed */
  5734.  
  5735. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  5736. begin
  5737.     update %childtablename%
  5738.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  5739.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  5740. end
  5741.  
  5742. {ParUpdSetDefault and  (not lParUpdSetDefaultDekl)}
  5743. /* cascade setdefault when parent changed */
  5744. if     @forrelpk( "(", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  5745. begin
  5746.     update %childtablename%
  5747.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  5748.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  5749. end
  5750.  
  5751.  
  5752. {ParUpdRestrict and (not lParUpdRestDekl)}
  5753. /* Restrict child %childtablename%, when parent %parenttablename% changed */
  5754.  
  5755. if     @forrelpk( "( ", tb , "old.%PkParentName% != new.%PkParentName%", " OR %cr%", ") " ) then
  5756. begin
  5757.     select count( * ) from %childtablename%
  5758.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  5759.     into :numrows;
  5760.     IF ( numrows > 0 ) then
  5761.         begin
  5762.         exception except_upd_p;
  5763.         end
  5764. end
  5765. ]]></VALUE>
  5766. <LANGUAGE>0</LANGUAGE>
  5767. <CATEGORY>0</CATEGORY>
  5768. </TEMPLATE>
  5769. <TEMPLATE>
  5770. <NAME>TRIGGERCHILDUPDATE</NAME>
  5771. <ID>149</ID>
  5772. <GUID>{B200EA00-3255-11D4-8604-00C026D00180}</GUID>
  5773. <ENABLED>1</ENABLED>
  5774. <LEVEL>0</LEVEL>
  5775. <IDPARENT>0</IDPARENT>
  5776. <VALUE><![CDATA[{ChildUpdRestrict and (not lChildUpdRestDekl)}
  5777. /* restrict parent %ParentTableName% when child %ChildTableName% updated */
  5778.  
  5779. if @forrelpk( "(", tb, "new.%pkchildname% is not null", " AND %cr%", ")" ) then
  5780.      begin
  5781.     select count( * ) from %ParentTableName%
  5782.     where     @forrelpk( "", "", "new.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  5783.     into :numrows;
  5784.     IF ( numrows = 0 ) then
  5785.         begin
  5786.         exception except_upd_ch;
  5787.         end
  5788.     end
  5789. ]]></VALUE>
  5790. <LANGUAGE>0</LANGUAGE>
  5791. <CATEGORY>0</CATEGORY>
  5792. </TEMPLATE>
  5793. <TEMPLATE>
  5794. <NAME>CREATETRIGGERUPDATE</NAME>
  5795. <ID>150</ID>
  5796. <GUID>{B200EA01-3255-11D4-8604-00C026D00180}</GUID>
  5797. <ENABLED>1</ENABLED>
  5798. <LEVEL>0</LEVEL>
  5799. <IDPARENT>0</IDPARENT>
  5800. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  5801. /* Update trigger for %tablename% */
  5802.  
  5803. CREATE Trigger tu_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  5804. before update as
  5805. @if(lEntParUpdRest or lEntChildUpdRest,"declare variable numrows integer;","")
  5806. begin
  5807.      @forchild( "", "", template(triggerparentupdate), "", "" )
  5808.      @forparent("", "", template(triggerchildupdate), "", "" )
  5809. end
  5810. ^
  5811. ]]></VALUE>
  5812. <LANGUAGE>0</LANGUAGE>
  5813. <CATEGORY>0</CATEGORY>
  5814. </TEMPLATE>
  5815. <TEMPLATE>
  5816. <NAME>CREATETRIGGERINSERT</NAME>
  5817. <ID>151</ID>
  5818. <GUID>{B200EA02-3255-11D4-8604-00C026D00180}</GUID>
  5819. <ENABLED>1</ENABLED>
  5820. <LEVEL>0</LEVEL>
  5821. <IDPARENT>0</IDPARENT>
  5822. <VALUE><![CDATA[{lEntChildInsTrig  }
  5823. /* Insert trigger for %tablename% */
  5824.  
  5825. CREATE Trigger ti_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  5826. before insert as
  5827. declare variable numrows integer;
  5828. begin
  5829. @forparent("", "", template(TriggerParentInsert), "", "")
  5830. end
  5831. ^
  5832. ]]></VALUE>
  5833. <LANGUAGE>0</LANGUAGE>
  5834. <CATEGORY>0</CATEGORY>
  5835. </TEMPLATE>
  5836. <TEMPLATE>
  5837. <NAME>CREATETRIGGERDELETE</NAME>
  5838. <ID>152</ID>
  5839. <GUID>{B200EA03-3255-11D4-8604-00C026D00180}</GUID>
  5840. <ENABLED>1</ENABLED>
  5841. <LEVEL>0</LEVEL>
  5842. <IDPARENT>0</IDPARENT>
  5843. <VALUE><![CDATA[{lEntParDelTrig}
  5844. /* Delete trigger for %tablename% */
  5845.  
  5846. CREATE Trigger td_%tablename% for %tablename% @showmessage("Trigger for %tablename% ")
  5847. before delete as
  5848. @if(lEntParDelRest,"declare variable numrows integer;","")
  5849. begin
  5850. @forchild( "", "", template(TriggerParentDelete), "", "" )
  5851. end
  5852. ^
  5853. ]]></VALUE>
  5854. <LANGUAGE>0</LANGUAGE>
  5855. <CATEGORY>0</CATEGORY>
  5856. </TEMPLATE>
  5857. <TEMPLATE>
  5858. <NAME>TRIGGERPARENTDELETE</NAME>
  5859. <ID>153</ID>
  5860. <GUID>{B200EA04-3255-11D4-8604-00C026D00180}</GUID>
  5861. <ENABLED>1</ENABLED>
  5862. <LEVEL>0</LEVEL>
  5863. <IDPARENT>0</IDPARENT>
  5864. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  5865. /* cascade child %childtablename% delete when parent %parenttablename% deleted */
  5866.  
  5867.  
  5868.     delete from %childtablename%
  5869.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND %cr%", "");
  5870.  
  5871.  
  5872. {ParDelSetNULL and (not lParDelSetnullDekl)}
  5873. /* cascade setnull when parent deleted */
  5874.  
  5875.  
  5876.     update %childtablename%
  5877.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  5878.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  5879.  
  5880. {ParDelSetDefault and (not lParDelSetDefaultDekl)}
  5881. /* cascade setdefault when parent deleted */
  5882.  
  5883.  
  5884.     update %childtablename%
  5885.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  5886.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old.%PkParentName%" , " AND "+cr, "");
  5887.  
  5888.  
  5889.  
  5890. {ParDelRestrict and (not lParDelRestDekl)}
  5891. /* Restrict child %childtablename%, when parent %parenttablename% deleted */
  5892.  
  5893.  
  5894.     select count( * ) from %childtablename%
  5895.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  5896.     into :numrows;
  5897.     IF ( numrows > 0 ) then
  5898.         begin
  5899.         exception except_del_p;
  5900.         end
  5901.  
  5902.  
  5903.  
  5904. ]]></VALUE>
  5905. <LANGUAGE>0</LANGUAGE>
  5906. <CATEGORY>0</CATEGORY>
  5907. </TEMPLATE>
  5908. <TEMPLATE>
  5909. <NAME>TRIGGERPARENTINSERT</NAME>
  5910. <ID>154</ID>
  5911. <GUID>{B200EA05-3255-11D4-8604-00C026D00180}</GUID>
  5912. <ENABLED>1</ENABLED>
  5913. <LEVEL>0</LEVEL>
  5914. <IDPARENT>0</IDPARENT>
  5915. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  5916. /* restrict child %childtablename% when parent %parenttablename% insert */
  5917.  
  5918. if @forrelpk( "(", tb, "new.%pkchildname% is not null", " AND %cr%", ")" ) then
  5919.      begin
  5920.     select count( * ) from %ParentTableName%
  5921.     where     @forrelpk( "", "", "new.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  5922.     into :numrows;
  5923.     IF ( numrows = 0 ) then
  5924.         begin
  5925.         exception  except_ins_ch;
  5926.         end
  5927.     end
  5928. ]]></VALUE>
  5929. <LANGUAGE>0</LANGUAGE>
  5930. <CATEGORY>0</CATEGORY>
  5931. </TEMPLATE>
  5932. <TEMPLATE>
  5933. <NAME>REFINTEGRITY</NAME>
  5934. <ID>155</ID>
  5935. <GUID>{B200EA06-3255-11D4-8604-00C026D00180}</GUID>
  5936. <ENABLED>1</ENABLED>
  5937. <LEVEL>0</LEVEL>
  5938. <IDPARENT>0</IDPARENT>
  5939. <VALUE><![CDATA[{lRelAnyDekl}
  5940. alter table %childtablename% add @if(lFkAsConstraint and (not Empty(fRelName)),"Constraint %frelname%","") foreign key (%childkeys%) references %parenttablename% (%parentkeys%) @macro(refintegrity2)
  5941. ]]></VALUE>
  5942. <LANGUAGE>0</LANGUAGE>
  5943. <CATEGORY>0</CATEGORY>
  5944. </TEMPLATE>
  5945. <TEMPLATE>
  5946. <NAME>DropIndexs</NAME>
  5947. <ID>158</ID>
  5948. <GUID>{B200EA07-3255-11D4-8604-00C026D00180}</GUID>
  5949. <ENABLED>1</ENABLED>
  5950. <LEVEL>0</LEVEL>
  5951. <IDPARENT>0</IDPARENT>
  5952. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname%;%cr%", "", "" ),"","")
  5953. ]]></VALUE>
  5954. <LANGUAGE>0</LANGUAGE>
  5955. <CATEGORY>0</CATEGORY>
  5956. </TEMPLATE>
  5957. <TEMPLATE>
  5958. <NAME>DROPTABLES</NAME>
  5959. <ID>159</ID>
  5960. <GUID>{B200EA08-3255-11D4-8604-00C026D00180}</GUID>
  5961. <ENABLED>1</ENABLED>
  5962. <LEVEL>0</LEVEL>
  5963. <IDPARENT>0</IDPARENT>
  5964. <VALUE><![CDATA[@ForTable("%cr%", "", "Drop table %tablename%;%cr%", "", "" )
  5965. ]]></VALUE>
  5966. <LANGUAGE>0</LANGUAGE>
  5967. <CATEGORY>0</CATEGORY>
  5968. </TEMPLATE>
  5969. <TEMPLATE>
  5970. <NAME>REFINTEGRITY2</NAME>
  5971. <ID>160</ID>
  5972. <GUID>{B200EA09-3255-11D4-8604-00C026D00180}</GUID>
  5973. <ENABLED>1</ENABLED>
  5974. <LEVEL>0</LEVEL>
  5975. <IDPARENT>0</IDPARENT>
  5976. <VALUE><![CDATA[if(lRelUpdDekl, " on update "+if(lRelParUpdRestDekl, " no action " ,if(lRelParUpdCascDekl  " cascade", if(lRelParUpdSetnullDekl , "Set Null", if(lRelParUpdSetDefaultDekl, "Set Default","") ) ) ), "" )+
  5977. if(lRelDelDekl  , " on delete "+if(lRelParDelRestDekl , " no action " ,if(lRelParDelCascDekl  " cascade", if(lRelParDelSetnullDekl , "Set Null", if(lRelParDelSetDefaultDekl,"Set Default", "") ) ) ), "" )+";"
  5978. ]]></VALUE>
  5979. <LANGUAGE>0</LANGUAGE>
  5980. <CATEGORY>0</CATEGORY>
  5981. </TEMPLATE>
  5982. <TEMPLATE>
  5983. <NAME>CREATEATRIB</NAME>
  5984. <ID>172</ID>
  5985. <GUID>{B200EA0A-3255-11D4-8604-00C026D00180}</GUID>
  5986. <ENABLED>1</ENABLED>
  5987. <LEVEL>0</LEVEL>
  5988. <IDPARENT>0</IDPARENT>
  5989. <VALUE><![CDATA["%ColName% %typsql% "+
  5990. if(defexist," %defvalue%", "")+
  5991. if(defaultexist," Default %defaultvalue% "  ,"")+
  5992. if(notnull," NOT NULL "," ")+
  5993. if(UniqueAtr,if(not Empty(ConstraintAtrUnique),"Constraint %ConstraintAtrUnique%","")+" UNIQUE ", "")+
  5994. if(constraintExist and CheckExist, " Constraint %constraint%","")+
  5995. if(checkexist," Check ("+ evalcheck+" )","")+
  5996. if(def2exist," %def2value%", "")
  5997. ]]></VALUE>
  5998. <LANGUAGE>0</LANGUAGE>
  5999. <CATEGORY>0</CATEGORY>
  6000. </TEMPLATE>
  6001. <TEMPLATE>
  6002. <NAME>CREATEATRIB2</NAME>
  6003. <ID>173</ID>
  6004. <GUID>{B200EA0B-3255-11D4-8604-00C026D00180}</GUID>
  6005. <ENABLED>1</ENABLED>
  6006. <LEVEL>0</LEVEL>
  6007. <IDPARENT>0</IDPARENT>
  6008. <VALUE><![CDATA["%colname% %DictName%" + 
  6009. if(notnull," NOT NULL "," ")
  6010. ]]></VALUE>
  6011. <LANGUAGE>0</LANGUAGE>
  6012. <CATEGORY>0</CATEGORY>
  6013. </TEMPLATE>
  6014. <TEMPLATE>
  6015. <NAME>CREATEDOMAINS</NAME>
  6016. <ID>174</ID>
  6017. <GUID>{B200EA0C-3255-11D4-8604-00C026D00180}</GUID>
  6018. <ENABLED>1</ENABLED>
  6019. <LEVEL>0</LEVEL>
  6020. <IDPARENT>0</IDPARENT>
  6021. <VALUE><![CDATA[@ForDict("", "", macro(CreateDomain) , cr, "")
  6022. ]]></VALUE>
  6023. <LANGUAGE>0</LANGUAGE>
  6024. <CATEGORY>0</CATEGORY>
  6025. </TEMPLATE>
  6026. <TEMPLATE>
  6027. <NAME>CREATEDOMAIN</NAME>
  6028. <ID>175</ID>
  6029. <GUID>{B200EA0D-3255-11D4-8604-00C026D00180}</GUID>
  6030. <ENABLED>1</ENABLED>
  6031. <LEVEL>0</LEVEL>
  6032. <IDPARENT>0</IDPARENT>
  6033. <VALUE><![CDATA["Create Domain %DictName% %TypSQL%"+
  6034. if(Empty(DefDict),""," %DefDict% ")+
  6035. if(DefaultExist," Default %default%","")+
  6036. if(CheckExist," Check ("+evalcheck2("value")+" )", "")+
  6037. if(Empty(Def2Dict),"", " %Def2Dict% ")+
  6038. ";"
  6039. ]]></VALUE>
  6040. <LANGUAGE>0</LANGUAGE>
  6041. <CATEGORY>0</CATEGORY>
  6042. </TEMPLATE>
  6043. <TEMPLATE>
  6044. <NAME>DROPDOMAINS</NAME>
  6045. <ID>176</ID>
  6046. <GUID>{B200EA0E-3255-11D4-8604-00C026D00180}</GUID>
  6047. <ENABLED>1</ENABLED>
  6048. <LEVEL>0</LEVEL>
  6049. <IDPARENT>0</IDPARENT>
  6050. <VALUE><![CDATA[@ForDict("%cr%", "", "Drop domain %dictname%;%cr%", "", "" )
  6051. ]]></VALUE>
  6052. <LANGUAGE>0</LANGUAGE>
  6053. <CATEGORY>0</CATEGORY>
  6054. </TEMPLATE>
  6055. <TEMPLATE>
  6056. <NAME>CREATEALTERKEY</NAME>
  6057. <ID>238</ID>
  6058. <GUID>{B200EA0F-3255-11D4-8604-00C026D00180}</GUID>
  6059. <ENABLED>1</ENABLED>
  6060. <LEVEL>0</LEVEL>
  6061. <IDPARENT>0</IDPARENT>
  6062. <VALUE><![CDATA[@foralterkey("","","alter table %tablename% add constraint %AlterKeyConstraintName% unique (%AlterKeyKeys%);","","")
  6063. ]]></VALUE>
  6064. <LANGUAGE>0</LANGUAGE>
  6065. <CATEGORY>0</CATEGORY>
  6066. </TEMPLATE>
  6067. <TEMPLATE>
  6068. <NAME>DropRefIntegrity</NAME>
  6069. <ID>243</ID>
  6070. <GUID>{B200EA10-3255-11D4-8604-00C026D00180}</GUID>
  6071. <ENABLED>1</ENABLED>
  6072. <LEVEL>0</LEVEL>
  6073. <IDPARENT>0</IDPARENT>
  6074. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  6075. alter table %childtablename% drop constraint %frelname%;
  6076. ]]></VALUE>
  6077. <LANGUAGE>0</LANGUAGE>
  6078. <CATEGORY>0</CATEGORY>
  6079. </TEMPLATE>
  6080. <TEMPLATE>
  6081. <NAME>DropTriggerUpdate</NAME>
  6082. <ID>245</ID>
  6083. <GUID>{B200EA11-3255-11D4-8604-00C026D00180}</GUID>
  6084. <ENABLED>1</ENABLED>
  6085. <LEVEL>0</LEVEL>
  6086. <IDPARENT>0</IDPARENT>
  6087. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  6088. drop trigger tu_%tablename%;
  6089. ]]></VALUE>
  6090. <LANGUAGE>0</LANGUAGE>
  6091. <CATEGORY>0</CATEGORY>
  6092. </TEMPLATE>
  6093. <TEMPLATE>
  6094. <NAME>DropTriggerDelete</NAME>
  6095. <ID>246</ID>
  6096. <GUID>{B200EA12-3255-11D4-8604-00C026D00180}</GUID>
  6097. <ENABLED>1</ENABLED>
  6098. <LEVEL>0</LEVEL>
  6099. <IDPARENT>0</IDPARENT>
  6100. <VALUE><![CDATA[{lEntParDelTrig}
  6101. drop trigger td_%tablename%;
  6102. ]]></VALUE>
  6103. <LANGUAGE>0</LANGUAGE>
  6104. <CATEGORY>0</CATEGORY>
  6105. </TEMPLATE>
  6106. <TEMPLATE>
  6107. <NAME>DropTriggerInsert</NAME>
  6108. <ID>247</ID>
  6109. <GUID>{B200EA13-3255-11D4-8604-00C026D00180}</GUID>
  6110. <ENABLED>1</ENABLED>
  6111. <LEVEL>0</LEVEL>
  6112. <IDPARENT>0</IDPARENT>
  6113. <VALUE><![CDATA[{lEntChildInsTrig  }
  6114. drop trigger ti_%tablename%;
  6115. ]]></VALUE>
  6116. <LANGUAGE>0</LANGUAGE>
  6117. <CATEGORY>0</CATEGORY>
  6118. </TEMPLATE>
  6119. <TEMPLATE>
  6120. <NAME>CreateExcept</NAME>
  6121. <ID>275</ID>
  6122. <GUID>{B200EA14-3255-11D4-8604-00C026D00180}</GUID>
  6123. <ENABLED>1</ENABLED>
  6124. <LEVEL>0</LEVEL>
  6125. <IDPARENT>0</IDPARENT>
  6126. <VALUE><![CDATA[create exception except_del_p 'Children still exist in child table. Cannot delete parent'^
  6127. create exception except_ins_ch 'Parent does not exist. Cannot create child.'^
  6128. create exception except_upd_ch 'Parent does not exist. Cannot update child '^
  6129. create exception except_upd_p 'Children still exist in child table.'^
  6130. ]]></VALUE>
  6131. <LANGUAGE>0</LANGUAGE>
  6132. <CATEGORY>0</CATEGORY>
  6133. </TEMPLATE>
  6134. <TEMPLATE>
  6135. <NAME>DropExcept</NAME>
  6136. <ID>276</ID>
  6137. <GUID>{B200EA15-3255-11D4-8604-00C026D00180}</GUID>
  6138. <ENABLED>1</ENABLED>
  6139. <LEVEL>0</LEVEL>
  6140. <IDPARENT>0</IDPARENT>
  6141. <VALUE><![CDATA[drop exception except_del_p 'Children still exist in child table. Cannot delete parent';
  6142. drop exception except_ins_ch 'Parent does not exist. Cannot create child.';
  6143. drop exception except_upd_ch 'Parent does not exist. Cannot update child.';
  6144. drop exception except_upd_p 'Children still exist in child table.';
  6145. ]]></VALUE>
  6146. <LANGUAGE>0</LANGUAGE>
  6147. <CATEGORY>0</CATEGORY>
  6148. </TEMPLATE>
  6149. <TEMPLATE>
  6150. <NAME>DropProcedures</NAME>
  6151. <ID>336</ID>
  6152. <GUID>{B200EA16-3255-11D4-8604-00C026D00180}</GUID>
  6153. <ENABLED>1</ENABLED>
  6154. <LEVEL>0</LEVEL>
  6155. <IDPARENT>0</IDPARENT>
  6156. <VALUE><![CDATA[@ForProcedureR("","","drop procedure %ProcedureName%;%cr%","","")
  6157. ]]></VALUE>
  6158. <LANGUAGE>0</LANGUAGE>
  6159. <CATEGORY>0</CATEGORY>
  6160. </TEMPLATE>
  6161. <TEMPLATE>
  6162. <NAME>DropViews</NAME>
  6163. <ID>337</ID>
  6164. <GUID>{B200EA17-3255-11D4-8604-00C026D00180}</GUID>
  6165. <ENABLED>1</ENABLED>
  6166. <LEVEL>0</LEVEL>
  6167. <IDPARENT>0</IDPARENT>
  6168. <VALUE><![CDATA[@ForViewR("","","drop view %ViewName%;%cr%","","")
  6169. ]]></VALUE>
  6170. <LANGUAGE>0</LANGUAGE>
  6171. <CATEGORY>0</CATEGORY>
  6172. </TEMPLATE>
  6173. <TEMPLATE>
  6174. <NAME>DropTriggersList</NAME>
  6175. <ID>338</ID>
  6176. <GUID>{B200EA18-3255-11D4-8604-00C026D00180}</GUID>
  6177. <ENABLED>1</ENABLED>
  6178. <LEVEL>0</LEVEL>
  6179. <IDPARENT>0</IDPARENT>
  6180. <VALUE><![CDATA[@ForTriggerR("","","drop trigger %TriggerName%;%cr%","","")
  6181. ]]></VALUE>
  6182. <LANGUAGE>0</LANGUAGE>
  6183. <CATEGORY>0</CATEGORY>
  6184. </TEMPLATE>
  6185. </TEMPLATES>
  6186. <VARIABLES><![CDATA[ldomainSupp  1
  6187. lAtrCheckConstraintSupp 1
  6188. lAlterKeySupp 1
  6189. lProceduresSupp 1
  6190. lViewsSupp 1
  6191. lConstraintPkSupp 1
  6192. lConstraintFkSupp 1
  6193. lAtrUniqueConstraintSupp 1
  6194. lPermissUserToRoleSupp 1
  6195. lPermissUserToObjectSupp 1
  6196. lPermissRoleToObjectSupp 1
  6197. lRoleSupp 1
  6198. lDriParUpdRestrict 1
  6199. lDriParUpdCascade 1
  6200. lDriParUpdSetNull 1
  6201. lDriParUpdSetDefault 1
  6202. lDriParDelRestrict 1
  6203. lDriParDelCascade 1
  6204. lDriParDelSetNull 1
  6205. lDriParDelSetDefault 1
  6206. lDriChildInsRestrict 0
  6207. lDriChildUpdRestrict 0
  6208. lDriParUpdRestrictSupp 1
  6209. lDriParUpdCascadeSupp 1
  6210. lDriParUpdSetNullSupp 1
  6211. lDriParUpdSetDefaultSupp 1
  6212. lDriParDelRestrictSupp 1
  6213. lDriParDelCascadeSupp 1
  6214. lDriParDelSetNullSupp 1
  6215. lDriParDelSetDefaultSupp 1
  6216. lDriChildInsRestrictSupp 0
  6217. lDriChildUpdRestrictSupp 0
  6218. lIndexDescendSupp 1
  6219. lIndexItDescendSupp 0
  6220. lIndexUpperSupp 0
  6221. lIndexExprSupp 0
  6222. lIndexUniqueSupp 1
  6223. lIndexFilterSupp 0
  6224. lIndexStandSupp 1
  6225. lIndexClusterSupp 0
  6226. lIndexNameUnique 1
  6227. lPkSupp 1
  6228. lPkNotNull 1
  6229. lDRISupp 1
  6230. lTriggerSupp 1
  6231. lAtrUniqueSupp 1
  6232. lAtrNotNullSupp 1
  6233. lAtrCheckSupp 1
  6234. lAtrDefaultSupp 1
  6235. ldomainSupp  1
  6236. lAtrCheckConstraintSupp 1
  6237. lAlterKeySupp 1
  6238. lProceduresSupp 1
  6239. lViewsSupp 1
  6240. lConstraintPkSupp 1
  6241. lConstraintFkSupp 1
  6242. lAtrUniqueConstraintSupp 1
  6243. lPermissUserToRoleSupp 1
  6244. lPermissUserToObjectSupp 1
  6245. lPermissRoleToObjectSupp 1
  6246. lRoleSupp 1
  6247. ]]></VARIABLES>
  6248. <USEREDITS>
  6249. <USEREDIT>
  6250. <NAME>lDropException</NAME>
  6251. <ID>2</ID>
  6252. <GUID>{B200EA19-3255-11D4-8604-00C026D00180}</GUID>
  6253. <CAPTION>Drop exception</CAPTION>
  6254. <TYPE>1</TYPE>
  6255. <LEVEL>1</LEVEL>
  6256. <DEFAULT></DEFAULT>
  6257. <ORD>120</ORD>
  6258. <LENGTH>250</LENGTH>
  6259. </USEREDIT>
  6260. <USEREDIT>
  6261. <NAME>lCreateException</NAME>
  6262. <ID>3</ID>
  6263. <GUID>{B200EA1A-3255-11D4-8604-00C026D00180}</GUID>
  6264. <CAPTION>Create exception</CAPTION>
  6265. <TYPE>1</TYPE>
  6266. <LEVEL>1</LEVEL>
  6267. <DEFAULT></DEFAULT>
  6268. <ORD>130</ORD>
  6269. <LENGTH>250</LENGTH>
  6270. </USEREDIT>
  6271. </USEREDITS>
  6272. <TYPELIST>
  6273. <TYPE>
  6274. <NAME>Char</NAME>
  6275. <ID>10</ID>
  6276. <GUID>{B200E9F1-3255-11D4-8604-00C026D00180}</GUID>
  6277. <PHNAME>Char</PHNAME>
  6278. <LLENGTH>1</LLENGTH>
  6279. <LDECIMAL>0</LDECIMAL>
  6280. <MAXLENGTH>32765</MAXLENGTH>
  6281. <MINLENGTH>1</MINLENGTH>
  6282. <MAXDECIMAL>0</MAXDECIMAL>
  6283. <MINDECIMAL>0</MINDECIMAL>
  6284. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  6285. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6286. <TRANSFORMCODE>A</TRANSFORMCODE>
  6287. <TRANSFORMTO>LA;VA;LVA;</TRANSFORMTO>
  6288. <EXPORTTO>0</EXPORTTO>
  6289. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6290. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6291. <ODBCTYPE>0</ODBCTYPE>
  6292. <BDETYPE>0</BDETYPE>
  6293. </TYPE>
  6294. <TYPE>
  6295. <NAME>Varchar</NAME>
  6296. <ID>20</ID>
  6297. <GUID>{B200E9F2-3255-11D4-8604-00C026D00180}</GUID>
  6298. <PHNAME>Varchar</PHNAME>
  6299. <LLENGTH>1</LLENGTH>
  6300. <LDECIMAL>0</LDECIMAL>
  6301. <MAXLENGTH>32765</MAXLENGTH>
  6302. <MINLENGTH>1</MINLENGTH>
  6303. <MAXDECIMAL>0</MAXDECIMAL>
  6304. <MINDECIMAL>0</MINDECIMAL>
  6305. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  6306. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6307. <TRANSFORMCODE>VA</TRANSFORMCODE>
  6308. <TRANSFORMTO>LVA;A;LA;</TRANSFORMTO>
  6309. <EXPORTTO>0</EXPORTTO>
  6310. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6311. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6312. <ODBCTYPE>0</ODBCTYPE>
  6313. <BDETYPE>0</BDETYPE>
  6314. </TYPE>
  6315. <TYPE>
  6316. <NAME>Smallint</NAME>
  6317. <ID>30</ID>
  6318. <GUID>{B200E9F3-3255-11D4-8604-00C026D00180}</GUID>
  6319. <PHNAME>Smallint</PHNAME>
  6320. <LLENGTH>0</LLENGTH>
  6321. <LDECIMAL>0</LDECIMAL>
  6322. <MAXLENGTH>0</MAXLENGTH>
  6323. <MINLENGTH>0</MINLENGTH>
  6324. <MAXDECIMAL>0</MAXDECIMAL>
  6325. <MINDECIMAL>0</MINDECIMAL>
  6326. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  6327. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6328. <TRANSFORMCODE>SI</TRANSFORMCODE>
  6329. <TRANSFORMTO>I;LI;N,3,0;</TRANSFORMTO>
  6330. <EXPORTTO>0</EXPORTTO>
  6331. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6332. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6333. <ODBCTYPE>0</ODBCTYPE>
  6334. <BDETYPE>0</BDETYPE>
  6335. </TYPE>
  6336. <TYPE>
  6337. <NAME>Integer</NAME>
  6338. <ID>40</ID>
  6339. <GUID>{B200E9F4-3255-11D4-8604-00C026D00180}</GUID>
  6340. <PHNAME>Integer</PHNAME>
  6341. <LLENGTH>0</LLENGTH>
  6342. <LDECIMAL>0</LDECIMAL>
  6343. <MAXLENGTH>0</MAXLENGTH>
  6344. <MINLENGTH>0</MINLENGTH>
  6345. <MAXDECIMAL>0</MAXDECIMAL>
  6346. <MINDECIMAL>0</MINDECIMAL>
  6347. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  6348. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6349. <TRANSFORMCODE>I</TRANSFORMCODE>
  6350. <TRANSFORMTO>LI;N,10,0;</TRANSFORMTO>
  6351. <EXPORTTO>0</EXPORTTO>
  6352. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6353. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6354. <ODBCTYPE>0</ODBCTYPE>
  6355. <BDETYPE>0</BDETYPE>
  6356. </TYPE>
  6357. <TYPE>
  6358. <NAME>Float</NAME>
  6359. <ID>50</ID>
  6360. <GUID>{B200E9F5-3255-11D4-8604-00C026D00180}</GUID>
  6361. <PHNAME>Float</PHNAME>
  6362. <LLENGTH>0</LLENGTH>
  6363. <LDECIMAL>0</LDECIMAL>
  6364. <MAXLENGTH>0</MAXLENGTH>
  6365. <MINLENGTH>0</MINLENGTH>
  6366. <MAXDECIMAL>0</MAXDECIMAL>
  6367. <MINDECIMAL>0</MINDECIMAL>
  6368. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  6369. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6370. <TRANSFORMCODE>F</TRANSFORMCODE>
  6371. <TRANSFORMTO>LF;N,15,5;</TRANSFORMTO>
  6372. <EXPORTTO>0</EXPORTTO>
  6373. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6374. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6375. <ODBCTYPE>0</ODBCTYPE>
  6376. <BDETYPE>0</BDETYPE>
  6377. </TYPE>
  6378. <TYPE>
  6379. <NAME>Double</NAME>
  6380. <ID>60</ID>
  6381. <GUID>{B200E9F6-3255-11D4-8604-00C026D00180}</GUID>
  6382. <PHNAME>Double precision</PHNAME>
  6383. <LLENGTH>0</LLENGTH>
  6384. <LDECIMAL>0</LDECIMAL>
  6385. <MAXLENGTH>0</MAXLENGTH>
  6386. <MINLENGTH>0</MINLENGTH>
  6387. <MAXDECIMAL>0</MAXDECIMAL>
  6388. <MINDECIMAL>0</MINDECIMAL>
  6389. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  6390. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6391. <TRANSFORMCODE>LF</TRANSFORMCODE>
  6392. <TRANSFORMTO>F;N,15,5;</TRANSFORMTO>
  6393. <EXPORTTO>0</EXPORTTO>
  6394. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6395. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6396. <ODBCTYPE>0</ODBCTYPE>
  6397. <BDETYPE>0</BDETYPE>
  6398. </TYPE>
  6399. <TYPE>
  6400. <NAME>Date</NAME>
  6401. <ID>70</ID>
  6402. <GUID>{B200E9F7-3255-11D4-8604-00C026D00180}</GUID>
  6403. <PHNAME>Date</PHNAME>
  6404. <LLENGTH>0</LLENGTH>
  6405. <LDECIMAL>0</LDECIMAL>
  6406. <MAXLENGTH>0</MAXLENGTH>
  6407. <MINLENGTH>0</MINLENGTH>
  6408. <MAXDECIMAL>0</MAXDECIMAL>
  6409. <MINDECIMAL>0</MINDECIMAL>
  6410. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  6411. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6412. <TRANSFORMCODE>DT</TRANSFORMCODE>
  6413. <TRANSFORMTO>D;</TRANSFORMTO>
  6414. <EXPORTTO>0</EXPORTTO>
  6415. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6416. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6417. <ODBCTYPE>0</ODBCTYPE>
  6418. <BDETYPE>0</BDETYPE>
  6419. </TYPE>
  6420. <TYPE>
  6421. <NAME>Blob</NAME>
  6422. <ID>80</ID>
  6423. <GUID>{B200E9F8-3255-11D4-8604-00C026D00180}</GUID>
  6424. <PHNAME>Blob</PHNAME>
  6425. <LLENGTH>1</LLENGTH>
  6426. <LDECIMAL>1</LDECIMAL>
  6427. <MAXLENGTH>65535</MAXLENGTH>
  6428. <MINLENGTH>1</MINLENGTH>
  6429. <MAXDECIMAL>2</MAXDECIMAL>
  6430. <MINDECIMAL>-100</MINDECIMAL>
  6431. <DEFAULTLENGTH>500</DEFAULTLENGTH>
  6432. <DEFAULTDECIMAL>1</DEFAULTDECIMAL>
  6433. <TRANSFORMCODE>BLOB</TRANSFORMCODE>
  6434. <TRANSFORMTO>BIN;LBIN;</TRANSFORMTO>
  6435. <EXPORTTO>0</EXPORTTO>
  6436. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6437. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6438. <ODBCTYPE>0</ODBCTYPE>
  6439. <BDETYPE>0</BDETYPE>
  6440. </TYPE>
  6441. <TYPE>
  6442. <NAME>Decimal</NAME>
  6443. <ID>90</ID>
  6444. <GUID>{B200E9F9-3255-11D4-8604-00C026D00180}</GUID>
  6445. <PHNAME>Decimal</PHNAME>
  6446. <LLENGTH>1</LLENGTH>
  6447. <LDECIMAL>1</LDECIMAL>
  6448. <MAXLENGTH>15</MAXLENGTH>
  6449. <MINLENGTH>1</MINLENGTH>
  6450. <MAXDECIMAL>15</MAXDECIMAL>
  6451. <MINDECIMAL>0</MINDECIMAL>
  6452. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  6453. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6454. <TRANSFORMCODE>DC</TRANSFORMCODE>
  6455. <TRANSFORMTO>N,15,5;F;</TRANSFORMTO>
  6456. <EXPORTTO>0</EXPORTTO>
  6457. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6458. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6459. <ODBCTYPE>0</ODBCTYPE>
  6460. <BDETYPE>0</BDETYPE>
  6461. </TYPE>
  6462. <TYPE>
  6463. <NAME>Numeric</NAME>
  6464. <ID>100</ID>
  6465. <GUID>{B200E9FA-3255-11D4-8604-00C026D00180}</GUID>
  6466. <PHNAME>Numeric</PHNAME>
  6467. <LLENGTH>1</LLENGTH>
  6468. <LDECIMAL>1</LDECIMAL>
  6469. <MAXLENGTH>15</MAXLENGTH>
  6470. <MINLENGTH>1</MINLENGTH>
  6471. <MAXDECIMAL>15</MAXDECIMAL>
  6472. <MINDECIMAL>0</MINDECIMAL>
  6473. <DEFAULTLENGTH>5</DEFAULTLENGTH>
  6474. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6475. <TRANSFORMCODE>N</TRANSFORMCODE>
  6476. <TRANSFORMTO>DC;LF;F;</TRANSFORMTO>
  6477. <EXPORTTO>0</EXPORTTO>
  6478. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6479. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6480. <ODBCTYPE>0</ODBCTYPE>
  6481. <BDETYPE>0</BDETYPE>
  6482. </TYPE>
  6483. <TYPE>
  6484. <NAME>Empty</NAME>
  6485. <ID>200</ID>
  6486. <GUID>{B200E9FB-3255-11D4-8604-00C026D00180}</GUID>
  6487. <PHNAME></PHNAME>
  6488. <LLENGTH>0</LLENGTH>
  6489. <LDECIMAL>0</LDECIMAL>
  6490. <MAXLENGTH>0</MAXLENGTH>
  6491. <MINLENGTH>0</MINLENGTH>
  6492. <MAXDECIMAL>0</MAXDECIMAL>
  6493. <MINDECIMAL>0</MINDECIMAL>
  6494. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  6495. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  6496. <TRANSFORMCODE></TRANSFORMCODE>
  6497. <TRANSFORMTO></TRANSFORMTO>
  6498. <EXPORTTO>0</EXPORTTO>
  6499. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  6500. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  6501. <ODBCTYPE>0</ODBCTYPE>
  6502. <BDETYPE>0</BDETYPE>
  6503. </TYPE>
  6504. </TYPELIST>
  6505. <MAXLENGTHTABLENAME>31</MAXLENGTHTABLENAME>
  6506. <MAXLENGTHCOLNAME>31</MAXLENGTHCOLNAME>
  6507. <MAXLENGTHINDEXNAME>31</MAXLENGTHINDEXNAME>
  6508. <DEFAULTCHAR>_</DEFAULTCHAR>
  6509. <INVALIDCHARACTERS> !"#%&'()*+,-./:;<=>?@[\]^`{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ </INVALIDCHARACTERS>
  6510. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  6511. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  6512. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  6513. </SERVER>
  6514. <SERVER>
  6515. <NAME>Informix</NAME>
  6516. <ID>90</ID>
  6517. <GUID>{B200EA1B-3255-11D4-8604-00C026D00180}</GUID>
  6518. <TEMPLATES>
  6519. <TEMPLATE>
  6520. <NAME>CREATETABLE</NAME>
  6521. <ID>202</ID>
  6522. <GUID>{B200EA40-3255-11D4-8604-00C026D00180}</GUID>
  6523. <ENABLED>1</ENABLED>
  6524. <LEVEL>0</LEVEL>
  6525. <IDPARENT>0</IDPARENT>
  6526. <VALUE><![CDATA[cr+
  6527. "Create table %tablename% ("+
  6528. forcol("", "", cr+tb+ macro(CreateAtrib) ,",", "")+
  6529. if(existpk and lPkGener, ",%cr%"+"Primary Key ("+forpkcol("", "", ColName, ",", ")"+ if(lPkAsConstraint," Constraint %ConstraintPkName%","")+cr) , cr )+
  6530. ") "+tablestorage+";"+cr+showmessage("Table %tablename%")
  6531. ]]></VALUE>
  6532. <LANGUAGE>0</LANGUAGE>
  6533. <CATEGORY>0</CATEGORY>
  6534. </TEMPLATE>
  6535. <TEMPLATE>
  6536. <NAME>CREATEINDEX</NAME>
  6537. <ID>204</ID>
  6538. <GUID>{B200EA41-3255-11D4-8604-00C026D00180}</GUID>
  6539. <ENABLED>1</ENABLED>
  6540. <LEVEL>0</LEVEL>
  6541. <IDPARENT>0</IDPARENT>
  6542. <VALUE><![CDATA["Create "+if(unique,"UNIQUE ","")
  6543. +if(clustered,"CLUSTER ","")
  6544. +"Index %Indexname%  ON %tablename% ("+ForIndexCol("","",colname+" "+if(IndexColDesc,"Desc",""),",",") "+indexstorage+" ;")+cr
  6545. +ShowMessage("Index %Indexname% for table %tablename%")
  6546. ]]></VALUE>
  6547. <LANGUAGE>0</LANGUAGE>
  6548. <CATEGORY>0</CATEGORY>
  6549. </TEMPLATE>
  6550. <TEMPLATE>
  6551. <NAME>DROPINDEXS</NAME>
  6552. <ID>206</ID>
  6553. <GUID>{B200EA42-3255-11D4-8604-00C026D00180}</GUID>
  6554. <ENABLED>1</ENABLED>
  6555. <LEVEL>0</LEVEL>
  6556. <IDPARENT>0</IDPARENT>
  6557. <VALUE><![CDATA[@fortable("","",forindex("", "", "Drop index %indexname%;%cr%", "", "" ),"","")
  6558. ]]></VALUE>
  6559. <LANGUAGE>0</LANGUAGE>
  6560. <CATEGORY>0</CATEGORY>
  6561. </TEMPLATE>
  6562. <TEMPLATE>
  6563. <NAME>CREATETRIGGERS</NAME>
  6564. <ID>207</ID>
  6565. <GUID>{B200EA43-3255-11D4-8604-00C026D00180}</GUID>
  6566. <ENABLED>1</ENABLED>
  6567. <LEVEL>0</LEVEL>
  6568. <IDPARENT>0</IDPARENT>
  6569. <VALUE><![CDATA[
  6570. create procedure RaiseEx(errNum int, errMsg char(255))
  6571.     raise exception errNum,0,errMsg;
  6572. end procedure;
  6573.  
  6574. @fortable("", "", template(createtriggerupdate), "", "")
  6575. @fortable("", "", template(createtriggerdelete), "", "")
  6576. @fortable("", "", template(createtriggerinsert), "", "")
  6577. ]]></VALUE>
  6578. <LANGUAGE>0</LANGUAGE>
  6579. <CATEGORY>0</CATEGORY>
  6580. </TEMPLATE>
  6581. <TEMPLATE>
  6582. <NAME>TRIGGERPARENTUPDATE</NAME>
  6583. <ID>208</ID>
  6584. <GUID>{B200EA44-3255-11D4-8604-00C026D00180}</GUID>
  6585. <ENABLED>1</ENABLED>
  6586. <LEVEL>0</LEVEL>
  6587. <IDPARENT>0</IDPARENT>
  6588. <VALUE><![CDATA[{ParUpdCascade and (not lRelParUpdCascDekl)}
  6589. @if(flag1,",","")
  6590. -- cascade child %childtablename% update when parent %parenttablename% changed 
  6591.      (
  6592.     update %childtablename%
  6593.     set @ForRelPk( tb , tb , "%PkChildName% = new_upd.%PkParentName%" , ",%cr%" , "")
  6594.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND %cr%", "") 
  6595.     )
  6596. @setflag(1,true)
  6597.  
  6598. {ParUpdSetNULL and (not lRelParUpdSetnullDekl)} 
  6599. @if(flag1,",","")
  6600. -- cascade setnull when parent changed 
  6601.     ( 
  6602.     update %childtablename%
  6603.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  6604.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND "+cr, "")
  6605.     )
  6606. @setflag(1,true)
  6607.  
  6608.  
  6609. {ParUpdSetDefault and (not lRelParUpdSetDefaultDekl)} 
  6610. @if(flag1,",","")
  6611. -- cascade setdefault when parent changed 
  6612.     ( 
  6613.     update %childtablename%
  6614.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %pkChildDefaultValue%" , ",%cr%" , "")
  6615.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_upd.%PkParentName%" , " AND "+cr, "")
  6616.     )
  6617. @setflag(1,true)
  6618.  
  6619.  
  6620. {ParUpdRestrict and (not lRelParUpdRestDekl)} 
  6621. @if(flag1,",","")
  6622. -- Restrict child %childtablename%, when parent %parenttablename% changed 
  6623. when (exists(
  6624.     select count( * ) 
  6625.     from %childtablename%
  6626.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% = old_upd.%PkParentName%", " AND "+cr+tb+tb, "" )
  6627.     ))
  6628.     ( 
  6629.     execute procedure RaiseEx(-746, 'Children still exist in child table.')
  6630.     )
  6631. @setflag(1,true)
  6632.  
  6633.      
  6634.  
  6635.  
  6636. ]]></VALUE>
  6637. <LANGUAGE>0</LANGUAGE>
  6638. <CATEGORY>0</CATEGORY>
  6639. </TEMPLATE>
  6640. <TEMPLATE>
  6641. <NAME>TRIGGERCHILDUPDATE</NAME>
  6642. <ID>209</ID>
  6643. <GUID>{B200EA45-3255-11D4-8604-00C026D00180}</GUID>
  6644. <ENABLED>1</ENABLED>
  6645. <LEVEL>0</LEVEL>
  6646. <IDPARENT>0</IDPARENT>
  6647. <VALUE><![CDATA[{(not lRelChildUpdRestDekl) and ChildUpdRestrict }
  6648. @if(flag1,",","")
  6649. -- restrict parent %ParentTableName% when child %ChildTableName% updated 
  6650. when ( not exists (
  6651.     select count( * ) 
  6652.     from %ParentTableName%
  6653.     where     @forrelpk( "", "", "new_upd.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  6654.     ))
  6655.     (
  6656.     execute procedure RaiseEx(-746,  'Parent does not exist. Cannot update child.')
  6657.     )
  6658. @setflag(1,true)
  6659. ]]></VALUE>
  6660. <LANGUAGE>0</LANGUAGE>
  6661. <CATEGORY>0</CATEGORY>
  6662. </TEMPLATE>
  6663. <TEMPLATE>
  6664. <NAME>CREATETRIGGERUPDATE</NAME>
  6665. <ID>210</ID>
  6666. <GUID>{B200EA46-3255-11D4-8604-00C026D00180}</GUID>
  6667. <ENABLED>1</ENABLED>
  6668. <LEVEL>0</LEVEL>
  6669. <IDPARENT>0</IDPARENT>
  6670. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  6671. -- Update trigger for %tablename% 
  6672.  
  6673. CREATE Trigger tu_%tablename% update on  %tablename%
  6674. @showmessage("Trigger for %tablename% ")
  6675. referencing new as new_upd old as old_upd for each row
  6676. @setflag(1,false)
  6677.      @forchild( "", "", template(triggerparentupdate), "", "" ) 
  6678.      @forparent("", "", template(triggerchildupdate), "", "" );
  6679. ]]></VALUE>
  6680. <LANGUAGE>0</LANGUAGE>
  6681. <CATEGORY>0</CATEGORY>
  6682. </TEMPLATE>
  6683. <TEMPLATE>
  6684. <NAME>CREATETRIGGERINSERT</NAME>
  6685. <ID>211</ID>
  6686. <GUID>{B200EA47-3255-11D4-8604-00C026D00180}</GUID>
  6687. <ENABLED>1</ENABLED>
  6688. <LEVEL>0</LEVEL>
  6689. <IDPARENT>0</IDPARENT>
  6690. <VALUE><![CDATA[{lEntChildInsTrig  }
  6691. -- Insert trigger for %tablename% 
  6692.  
  6693. CREATE Trigger ti_%tablename%  insert on %tablename%
  6694. @showmessage("Trigger for %tablename% ")
  6695. referencing new as new_ins for each row
  6696. @setflag(1,false)
  6697. @forparent("", "", template(TriggerParentInsert), "", "");
  6698. ]]></VALUE>
  6699. <LANGUAGE>0</LANGUAGE>
  6700. <CATEGORY>0</CATEGORY>
  6701. </TEMPLATE>
  6702. <TEMPLATE>
  6703. <NAME>CREATETRIGGERDELETE</NAME>
  6704. <ID>212</ID>
  6705. <GUID>{B200EA48-3255-11D4-8604-00C026D00180}</GUID>
  6706. <ENABLED>1</ENABLED>
  6707. <LEVEL>0</LEVEL>
  6708. <IDPARENT>0</IDPARENT>
  6709. <VALUE><![CDATA[{lEntParDelTrig}
  6710. -- Delete trigger for %tablename% 
  6711.  
  6712. CREATE Trigger td_%tablename% delete on %tablename%
  6713.  @showmessage("Trigger for %tablename% ")
  6714. referencing old as old_del for each row
  6715. @setflag(1,false)
  6716. @forchild( "", "", template(TriggerParentDelete), if(lRelDelTrig  ,",","") , "" ) ;
  6717. ]]></VALUE>
  6718. <LANGUAGE>0</LANGUAGE>
  6719. <CATEGORY>0</CATEGORY>
  6720. </TEMPLATE>
  6721. <TEMPLATE>
  6722. <NAME>TRIGGERPARENTDELETE</NAME>
  6723. <ID>213</ID>
  6724. <GUID>{B200EA49-3255-11D4-8604-00C026D00180}</GUID>
  6725. <ENABLED>1</ENABLED>
  6726. <LEVEL>0</LEVEL>
  6727. <IDPARENT>0</IDPARENT>
  6728. <VALUE><![CDATA[{ParDelCascade and (not lParDelCascDekl)}
  6729. @if(flag1,",","")
  6730. -- cascade child %childtablename% delete when parent %parenttablename% deleted 
  6731.      (
  6732.     delete from %childtablename%
  6733.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND %cr%", "")
  6734.     )
  6735. @setflag(1,true)
  6736.  
  6737. {ParDelSetNULL and (not lParDelSetnullDekl)} 
  6738. @if(flag1,",","")
  6739. -- cascade setnull when parent deleted 
  6740.      (
  6741.     update %childtablename%
  6742.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = NULL" , ",%cr%" , "")
  6743.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND "+cr, "")
  6744.     )
  6745. @setflag(1,true)
  6746.  
  6747. {ParDelSetDefault and (not lParDelSetDefaultDekl)} 
  6748. @if(flag1,",","")
  6749. -- cascade setdefault when parent deleted 
  6750.      (
  6751.     update %childtablename%
  6752.     set @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = %PkChildDefaultValue%" , ",%cr%" , "")
  6753.     where @ForRelPk( tb , tb+tb , "%childtablename%.%PkChildName% = old_del.%PkParentName%" , " AND "+cr, "")
  6754.     )
  6755. @setflag(1,true)
  6756.  
  6757. {ParDelRestrict and (not lParDelRestDekl)} 
  6758. @if(flag1,",","")
  6759. -- Restrict child %childtablename%, when parent %parenttablename% deleted 
  6760. when ( exists (
  6761.     select count( * ) 
  6762.     from %childtablename%
  6763.     where     @forrelpk( "", "", "%childtablename%.%PkChildName% =  old_del.%PkParentName%", " AND "+cr+tb+tb, "" )
  6764.     ))
  6765.     (
  6766.     execute procedure RaiseEx(-746,  'Children still exist in child table. Cannot delete parent')
  6767.     )
  6768. @setflag(1,true)
  6769. ]]></VALUE>
  6770. <LANGUAGE>0</LANGUAGE>
  6771. <CATEGORY>0</CATEGORY>
  6772. </TEMPLATE>
  6773. <TEMPLATE>
  6774. <NAME>TRIGGERPARENTINSERT</NAME>
  6775. <ID>214</ID>
  6776. <GUID>{B200EA4A-3255-11D4-8604-00C026D00180}</GUID>
  6777. <ENABLED>1</ENABLED>
  6778. <LEVEL>0</LEVEL>
  6779. <IDPARENT>0</IDPARENT>
  6780. <VALUE><![CDATA[{ChildInsRestrict and (not lChildInsRestDekl)}
  6781. @if(flag1,",","")
  6782. -- restrict child %childtablename% when parent %parenttablename% insert 
  6783. when( not exists ( 
  6784.     select count( * ) 
  6785.     from %ParentTableName%
  6786.     where     @forrelpk( "", "", "new_ins.%PkChildName% = %parenttablename%.%PkParentName%", " AND "+cr+tb+tb, "" )
  6787.     ))
  6788.     (
  6789.     execute procedure RaiseEx(-746,  'Parent does not exist. Cannot insert child.' )
  6790.     )
  6791. @setflag(1,true)
  6792. ]]></VALUE>
  6793. <LANGUAGE>0</LANGUAGE>
  6794. <CATEGORY>0</CATEGORY>
  6795. </TEMPLATE>
  6796. <TEMPLATE>
  6797. <NAME>REFINTEGRITY2</NAME>
  6798. <ID>215</ID>
  6799. <GUID>{B200EA4B-3255-11D4-8604-00C026D00180}</GUID>
  6800. <ENABLED>1</ENABLED>
  6801. <LEVEL>0</LEVEL>
  6802. <IDPARENT>0</IDPARENT>
  6803. <VALUE><![CDATA[if(lRelParDelCascDekl , " on delete cascade" , "")
  6804. ]]></VALUE>
  6805. <LANGUAGE>0</LANGUAGE>
  6806. <CATEGORY>0</CATEGORY>
  6807. </TEMPLATE>
  6808. <TEMPLATE>
  6809. <NAME>REFINTEGRITY</NAME>
  6810. <ID>216</ID>
  6811. <GUID>{B200EA4C-3255-11D4-8604-00C026D00180}</GUID>
  6812. <ENABLED>1</ENABLED>
  6813. <LEVEL>0</LEVEL>
  6814. <IDPARENT>0</IDPARENT>
  6815. <VALUE><![CDATA[{lRelParUpdDekl or lRelParDelDekl}
  6816. alter table %childtablename% add Constraint foreign key(%childkeys%) references %parenttablename% (%parentkeys%) @macro(refintegrity2) @if(lFkAsConstraint and (not Empty(fRelName)),"Constraint %frelname%","");
  6817.  
  6818. ]]></VALUE>
  6819. <LANGUAGE>0</LANGUAGE>
  6820. <CATEGORY>0</CATEGORY>
  6821. </TEMPLATE>
  6822. <TEMPLATE>
  6823. <NAME>DROPTABLES</NAME>
  6824. <ID>217</ID>
  6825. <GUID>{B200EA4D-3255-11D4-8604-00C026D00180}</GUID>
  6826. <ENABLED>1</ENABLED>
  6827. <LEVEL>0</LEVEL>
  6828. <IDPARENT>0</IDPARENT>
  6829. <VALUE><![CDATA[@ForTable("%cr%", "", "Drop table %tablename%;%cr%", "", "" )
  6830. ]]></VALUE>
  6831. <LANGUAGE>0</LANGUAGE>
  6832. <CATEGORY>0</CATEGORY>
  6833. </TEMPLATE>
  6834. <TEMPLATE>
  6835. <NAME>CREATEATRIB</NAME>
  6836. <ID>218</ID>
  6837. <GUID>{B200EA4E-3255-11D4-8604-00C026D00180}</GUID>
  6838. <ENABLED>1</ENABLED>
  6839. <LEVEL>0</LEVEL>
  6840. <IDPARENT>0</IDPARENT>
  6841. <VALUE><![CDATA["%ColName% %typsql% "+ 
  6842. if(defexist," %defvalue%", "")+
  6843. if(defaultexist," Default %defaultvalue% "  ,"")+
  6844. if(notnull," NOT NULL "," ")+
  6845. if(UniqueAtr," Unique "+if(not Empty(ConstraintAtrUnique),"Constraint %ConstraintAtrUnique%",""), "")+
  6846. if(checkexist," Check ("+ evalcheck +" )","")+
  6847. if(constraintExist and CheckExist, " Constraint %constraint%","")+
  6848. if(def2exist," %def2value%", "")
  6849. ]]></VALUE>
  6850. <LANGUAGE>0</LANGUAGE>
  6851. <CATEGORY>0</CATEGORY>
  6852. </TEMPLATE>
  6853. <TEMPLATE>
  6854. <NAME>CREATEDOMAINS</NAME>
  6855. <ID>220</ID>
  6856. <GUID>{B200EA4F-3255-11D4-8604-00C026D00180}</GUID>
  6857. <ENABLED>1</ENABLED>
  6858. <LEVEL>0</LEVEL>
  6859. <IDPARENT>0</IDPARENT>
  6860. <VALUE><![CDATA[@ForDict("", "", macro(CreateDomain) , cr, "")
  6861. ]]></VALUE>
  6862. <LANGUAGE>0</LANGUAGE>
  6863. <CATEGORY>0</CATEGORY>
  6864. </TEMPLATE>
  6865. <TEMPLATE>
  6866. <NAME>CREATEDOMAIN</NAME>
  6867. <ID>221</ID>
  6868. <GUID>{B200EA50-3255-11D4-8604-00C026D00180}</GUID>
  6869. <ENABLED>1</ENABLED>
  6870. <LEVEL>0</LEVEL>
  6871. <IDPARENT>0</IDPARENT>
  6872. <VALUE><![CDATA["Create Domain %DictName% %TypSQL%"+if(DefaultExist, " Default %default%","")+if(CheckExist," Check ("+evalcheck2(dictname)+" )", "")+";"
  6873. ]]></VALUE>
  6874. <LANGUAGE>0</LANGUAGE>
  6875. <CATEGORY>0</CATEGORY>
  6876. </TEMPLATE>
  6877. <TEMPLATE>
  6878. <NAME>DROPDOMAINS</NAME>
  6879. <ID>222</ID>
  6880. <GUID>{B200EA51-3255-11D4-8604-00C026D00180}</GUID>
  6881. <ENABLED>1</ENABLED>
  6882. <LEVEL>0</LEVEL>
  6883. <IDPARENT>0</IDPARENT>
  6884. <VALUE><![CDATA[@ForDict("%cr%", "", "Drop domain %dictname%;%cr%", "", "" )
  6885. ]]></VALUE>
  6886. <LANGUAGE>0</LANGUAGE>
  6887. <CATEGORY>0</CATEGORY>
  6888. </TEMPLATE>
  6889. <TEMPLATE>
  6890. <NAME>CreateDatabase</NAME>
  6891. <ID>280</ID>
  6892. <GUID>{B200EA52-3255-11D4-8604-00C026D00180}</GUID>
  6893. <ENABLED>1</ENABLED>
  6894. <LEVEL>0</LEVEL>
  6895. <IDPARENT>0</IDPARENT>
  6896. <VALUE><![CDATA[-- Created            %createddate%
  6897. -- Modified        %modifieddate%
  6898. -- Project            %projectname%
  6899. -- Model            %modelname%
  6900. -- Company        %company%
  6901. -- Author            %authorname%
  6902. -- Version            %version%
  6903. -- Database        %databasetype% 
  6904.  
  6905.  
  6906. {lbeforescript}
  6907. %beforescript%
  6908. {ldroptriggerGener}
  6909. @showmessage("Drop triggers")
  6910. @template(droptriggers)
  6911. {lDropIndexGener}
  6912. @template(DropIndexs)
  6913. {lDropTableGener}
  6914. @showmessage("Drop tables")
  6915. @template(DropRefIntegritys)
  6916. @template(droptables)
  6917. {lTableGener}
  6918. @showmessage("Create tables")
  6919. @template(createtables)
  6920. {lalterkeysgener}
  6921. @template(CreateAlterKeys)
  6922. {lIndexGener}
  6923. @showmessage("Create indexes")
  6924. @template(createindexs)
  6925. {lRefIntegGener}
  6926. @template(refintegritys)
  6927. {lTriggersGener}
  6928. @template(createtriggers)
  6929. {lProceduresGener}
  6930. @template(CreateProcedures)
  6931. {lViewsGener}
  6932. @template(CreateViews)
  6933. {lTriggersUserGener}
  6934. @template(CreateTriggersList)
  6935. {lRoleGener}
  6936. @showmessage("Roles")
  6937. @template(CreateRole)
  6938. {lUserToRoleGener}
  6939. @ShowMessage("Users permissions to roles")
  6940. @template(GrantUserToRole)
  6941. {lRolePermissGener}
  6942. @ShowMessage("Roles permissions")
  6943. @template(CreateRolePermiss)
  6944. {lUserPermissGener}
  6945. @ShowMessage("Users permissions")
  6946. @template(CreateUserPermiss)
  6947. {lafterscript}
  6948. %afterscript%
  6949. {true}
  6950. @template(UserTempl)
  6951.  
  6952. ]]></VALUE>
  6953. <LANGUAGE>0</LANGUAGE>
  6954. <CATEGORY>0</CATEGORY>
  6955. </TEMPLATE>
  6956. <TEMPLATE>
  6957. <NAME>CreateAlterKey</NAME>
  6958. <ID>281</ID>
  6959. <GUID>{B200EA53-3255-11D4-8604-00C026D00180}</GUID>
  6960. <ENABLED>1</ENABLED>
  6961. <LEVEL>0</LEVEL>
  6962. <IDPARENT>0</IDPARENT>
  6963. <VALUE><![CDATA[@foralterkey("","","alter table %tablename% add constraint unique (%AlterKeyKeys%)  constraint %AlterKeyConstraintName%;","","")
  6964. ]]></VALUE>
  6965. <LANGUAGE>0</LANGUAGE>
  6966. <CATEGORY>0</CATEGORY>
  6967. </TEMPLATE>
  6968. <TEMPLATE>
  6969. <NAME>DropTriggerUpdate</NAME>
  6970. <ID>282</ID>
  6971. <GUID>{B200EA54-3255-11D4-8604-00C026D00180}</GUID>
  6972. <ENABLED>1</ENABLED>
  6973. <LEVEL>0</LEVEL>
  6974. <IDPARENT>0</IDPARENT>
  6975. <VALUE><![CDATA[{lEntParUpdTrig or lEntChildUpdTrig}
  6976. drop trigger tu_%tablename%;
  6977. ]]></VALUE>
  6978. <LANGUAGE>0</LANGUAGE>
  6979. <CATEGORY>0</CATEGORY>
  6980. </TEMPLATE>
  6981. <TEMPLATE>
  6982. <NAME>DropTriggerDelete</NAME>
  6983. <ID>283</ID>
  6984. <GUID>{B200EA55-3255-11D4-8604-00C026D00180}</GUID>
  6985. <ENABLED>1</ENABLED>
  6986. <LEVEL>0</LEVEL>
  6987. <IDPARENT>0</IDPARENT>
  6988. <VALUE><![CDATA[{lEntParDelTrig}
  6989. drop trigger td_%tablename%;
  6990. ]]></VALUE>
  6991. <LANGUAGE>0</LANGUAGE>
  6992. <CATEGORY>0</CATEGORY>
  6993. </TEMPLATE>
  6994. <TEMPLATE>
  6995. <NAME>DropTriggerInsert</NAME>
  6996. <ID>284</ID>
  6997. <GUID>{B200EA56-3255-11D4-8604-00C026D00180}</GUID>
  6998. <ENABLED>1</ENABLED>
  6999. <LEVEL>0</LEVEL>
  7000. <IDPARENT>0</IDPARENT>
  7001. <VALUE><![CDATA[{lEntChildInsTrig  }
  7002. drop trigger ti_%tablename%;
  7003. ]]></VALUE>
  7004. <LANGUAGE>0</LANGUAGE>
  7005. <CATEGORY>0</CATEGORY>
  7006. </TEMPLATE>
  7007. <TEMPLATE>
  7008. <NAME>DropRefIntegrity</NAME>
  7009. <ID>285</ID>
  7010. <GUID>{B200EA57-3255-11D4-8604-00C026D00180}</GUID>
  7011. <ENABLED>1</ENABLED>
  7012. <LEVEL>0</LEVEL>
  7013. <IDPARENT>0</IDPARENT>
  7014. <VALUE><![CDATA[{lRelAnyDekl and (fRelname <> "")}
  7015. alter table %childtablename% drop constraint %frelname%;
  7016. ]]></VALUE>
  7017. <LANGUAGE>0</LANGUAGE>
  7018. <CATEGORY>0</CATEGORY>
  7019. </TEMPLATE>
  7020. </TEMPLATES>
  7021. <VARIABLES><![CDATA[ldomainSupp  0
  7022. lAtrCheckConstraintSupp 1
  7023. lAlterKeySupp 1
  7024. lProceduresSupp 1
  7025. lViewsSupp 1
  7026. lConstraintPkSupp 1
  7027. lConstraintFkSupp 1
  7028. lAtrUniqueConstraintSupp 1
  7029. lPermissUserToRoleSupp 1
  7030. lPermissUserToObjectSupp 1
  7031. lPermissRoleToObjectSupp 1
  7032. lRoleSupp 1
  7033. lDriParUpdRestrict 1
  7034. lDriParUpdCascade 0
  7035. lDriParUpdSetNull 0
  7036. lDriParUpdSetDefault 0
  7037. lDriParDelRestrict 1
  7038. lDriParDelCascade 1
  7039. lDriParDelSetNull 0
  7040. lDriParDelSetDefault 0
  7041. lDriChildInsRestrict 0
  7042. lDriChildUpdRestrict 0
  7043. lDriParUpdRestrictSupp 1
  7044. lDriParUpdCascadeSupp 0
  7045. lDriParUpdSetNullSupp 0
  7046. lDriParUpdSetDefaultSupp 0
  7047. lDriParDelRestrictSupp 1
  7048. lDriParDelCascadeSupp 1
  7049. lDriParDelSetNullSupp 0
  7050. lDriParDelSetDefaultSupp 0
  7051. lDriChildInsRestrictSupp 0
  7052. lDriChildUpdRestrictSupp 0
  7053. lIndexDescendSupp 0
  7054. lIndexItDescendSupp 1
  7055. lIndexUpperSupp 0
  7056. lIndexExprSupp 0
  7057. lIndexUniqueSupp 1
  7058. lIndexFilterSupp 0
  7059. lIndexStandSupp 1
  7060. lIndexClusterSupp 1
  7061. lIndexNameUnique 1
  7062. lPkSupp 1
  7063. lPkNotNull 1
  7064. lDRISupp 1
  7065. lTriggerSupp 1
  7066. lAtrUniqueSupp 0
  7067. lAtrNotNullSupp 1
  7068. lAtrCheckSupp 1
  7069. lAtrDefaultSupp 1
  7070. ldomainSupp  0
  7071. lAtrCheckConstraintSupp 1
  7072. lAlterKeySupp 1
  7073. lProceduresSupp 1
  7074. lViewsSupp 1
  7075. lConstraintPkSupp 1
  7076. lConstraintFkSupp 1
  7077. lAtrUniqueConstraintSupp 1
  7078. lPermissUserToRoleSupp 1
  7079. lPermissUserToObjectSupp 1
  7080. lPermissRoleToObjectSupp 1
  7081. lRoleSupp 1
  7082. ]]></VARIABLES>
  7083. <USEREDITS>
  7084. </USEREDITS>
  7085. <TYPELIST>
  7086. <TYPE>
  7087. <NAME>Char</NAME>
  7088. <ID>10</ID>
  7089. <GUID>{B200EA1C-3255-11D4-8604-00C026D00180}</GUID>
  7090. <PHNAME>Char</PHNAME>
  7091. <LLENGTH>1</LLENGTH>
  7092. <LDECIMAL>0</LDECIMAL>
  7093. <MAXLENGTH>65000</MAXLENGTH>
  7094. <MINLENGTH>1</MINLENGTH>
  7095. <MAXDECIMAL>0</MAXDECIMAL>
  7096. <MINDECIMAL>0</MINDECIMAL>
  7097. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  7098. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7099. <TRANSFORMCODE>A</TRANSFORMCODE>
  7100. <TRANSFORMTO>LA;VA;LVA;</TRANSFORMTO>
  7101. <EXPORTTO>0</EXPORTTO>
  7102. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7103. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7104. <ODBCTYPE>0</ODBCTYPE>
  7105. <BDETYPE>0</BDETYPE>
  7106. </TYPE>
  7107. <TYPE>
  7108. <NAME>Varchar</NAME>
  7109. <ID>20</ID>
  7110. <GUID>{B200EA1D-3255-11D4-8604-00C026D00180}</GUID>
  7111. <PHNAME>Varchar</PHNAME>
  7112. <LLENGTH>1</LLENGTH>
  7113. <LDECIMAL>0</LDECIMAL>
  7114. <MAXLENGTH>65000</MAXLENGTH>
  7115. <MINLENGTH>1</MINLENGTH>
  7116. <MAXDECIMAL>0</MAXDECIMAL>
  7117. <MINDECIMAL>0</MINDECIMAL>
  7118. <DEFAULTLENGTH>20</DEFAULTLENGTH>
  7119. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7120. <TRANSFORMCODE>VA</TRANSFORMCODE>
  7121. <TRANSFORMTO>LVA;A;LA;</TRANSFORMTO>
  7122. <EXPORTTO>0</EXPORTTO>
  7123. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7124. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7125. <ODBCTYPE>0</ODBCTYPE>
  7126. <BDETYPE>0</BDETYPE>
  7127. </TYPE>
  7128. <TYPE>
  7129. <NAME>Integer</NAME>
  7130. <ID>30</ID>
  7131. <GUID>{B200EA1E-3255-11D4-8604-00C026D00180}</GUID>
  7132. <PHNAME>Integer</PHNAME>
  7133. <LLENGTH>0</LLENGTH>
  7134. <LDECIMAL>0</LDECIMAL>
  7135. <MAXLENGTH>0</MAXLENGTH>
  7136. <MINLENGTH>0</MINLENGTH>
  7137. <MAXDECIMAL>0</MAXDECIMAL>
  7138. <MINDECIMAL>0</MINDECIMAL>
  7139. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7140. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7141. <TRANSFORMCODE>I</TRANSFORMCODE>
  7142. <TRANSFORMTO>LI;N,10,0;</TRANSFORMTO>
  7143. <EXPORTTO>0</EXPORTTO>
  7144. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7145. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7146. <ODBCTYPE>0</ODBCTYPE>
  7147. <BDETYPE>0</BDETYPE>
  7148. </TYPE>
  7149. <TYPE>
  7150. <NAME>Smallint</NAME>
  7151. <ID>40</ID>
  7152. <GUID>{B200EA1F-3255-11D4-8604-00C026D00180}</GUID>
  7153. <PHNAME>Smallint</PHNAME>
  7154. <LLENGTH>0</LLENGTH>
  7155. <LDECIMAL>0</LDECIMAL>
  7156. <MAXLENGTH>0</MAXLENGTH>
  7157. <MINLENGTH>0</MINLENGTH>
  7158. <MAXDECIMAL>0</MAXDECIMAL>
  7159. <MINDECIMAL>0</MINDECIMAL>
  7160. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7161. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7162. <TRANSFORMCODE>SI</TRANSFORMCODE>
  7163. <TRANSFORMTO>I;LI;N,3,0;</TRANSFORMTO>
  7164. <EXPORTTO>0</EXPORTTO>
  7165. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7166. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7167. <ODBCTYPE>0</ODBCTYPE>
  7168. <BDETYPE>0</BDETYPE>
  7169. </TYPE>
  7170. <TYPE>
  7171. <NAME>Float</NAME>
  7172. <ID>50</ID>
  7173. <GUID>{B200EA20-3255-11D4-8604-00C026D00180}</GUID>
  7174. <PHNAME>Float</PHNAME>
  7175. <LLENGTH>0</LLENGTH>
  7176. <LDECIMAL>0</LDECIMAL>
  7177. <MAXLENGTH>0</MAXLENGTH>
  7178. <MINLENGTH>0</MINLENGTH>
  7179. <MAXDECIMAL>0</MAXDECIMAL>
  7180. <MINDECIMAL>0</MINDECIMAL>
  7181. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7182. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7183. <TRANSFORMCODE>F</TRANSFORMCODE>
  7184. <TRANSFORMTO>LF;N,15,5;</TRANSFORMTO>
  7185. <EXPORTTO>0</EXPORTTO>
  7186. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7187. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7188. <ODBCTYPE>0</ODBCTYPE>
  7189. <BDETYPE>0</BDETYPE>
  7190. </TYPE>
  7191. <TYPE>
  7192. <NAME>Smallfloat</NAME>
  7193. <ID>60</ID>
  7194. <GUID>{B200EA21-3255-11D4-8604-00C026D00180}</GUID>
  7195. <PHNAME>Smallfloat</PHNAME>
  7196. <LLENGTH>0</LLENGTH>
  7197. <LDECIMAL>0</LDECIMAL>
  7198. <MAXLENGTH>0</MAXLENGTH>
  7199. <MINLENGTH>0</MINLENGTH>
  7200. <MAXDECIMAL>0</MAXDECIMAL>
  7201. <MINDECIMAL>0</MINDECIMAL>
  7202. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7203. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7204. <TRANSFORMCODE>SF</TRANSFORMCODE>
  7205. <TRANSFORMTO>F;N,15,5;</TRANSFORMTO>
  7206. <EXPORTTO>0</EXPORTTO>
  7207. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7208. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7209. <ODBCTYPE>0</ODBCTYPE>
  7210. <BDETYPE>0</BDETYPE>
  7211. </TYPE>
  7212. <TYPE>
  7213. <NAME>Double precision</NAME>
  7214. <ID>70</ID>
  7215. <GUID>{B200EA22-3255-11D4-8604-00C026D00180}</GUID>
  7216. <PHNAME>Double precision</PHNAME>
  7217. <LLENGTH>0</LLENGTH>
  7218. <LDECIMAL>0</LDECIMAL>
  7219. <MAXLENGTH>0</MAXLENGTH>
  7220. <MINLENGTH>0</MINLENGTH>
  7221. <MAXDECIMAL>0</MAXDECIMAL>
  7222. <MINDECIMAL>0</MINDECIMAL>
  7223. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7224. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7225. <TRANSFORMCODE>LF</TRANSFORMCODE>
  7226. <TRANSFORMTO>F;N,15,5;</TRANSFORMTO>
  7227. <EXPORTTO>0</EXPORTTO>
  7228. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7229. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7230. <ODBCTYPE>0</ODBCTYPE>
  7231. <BDETYPE>0</BDETYPE>
  7232. </TYPE>
  7233. <TYPE>
  7234. <NAME>Numeric</NAME>
  7235. <ID>80</ID>
  7236. <GUID>{B200EA23-3255-11D4-8604-00C026D00180}</GUID>
  7237. <PHNAME>Numeric</PHNAME>
  7238. <LLENGTH>1</LLENGTH>
  7239. <LDECIMAL>1</LDECIMAL>
  7240. <MAXLENGTH>20</MAXLENGTH>
  7241. <MINLENGTH>1</MINLENGTH>
  7242. <MAXDECIMAL>19</MAXDECIMAL>
  7243. <MINDECIMAL>0</MINDECIMAL>
  7244. <DEFAULTLENGTH>18</DEFAULTLENGTH>
  7245. <DEFAULTDECIMAL>2</DEFAULTDECIMAL>
  7246. <TRANSFORMCODE>N</TRANSFORMCODE>
  7247. <TRANSFORMTO>DC;LF;F;</TRANSFORMTO>
  7248. <EXPORTTO>0</EXPORTTO>
  7249. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7250. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7251. <ODBCTYPE>0</ODBCTYPE>
  7252. <BDETYPE>0</BDETYPE>
  7253. </TYPE>
  7254. <TYPE>
  7255. <NAME>Decimal</NAME>
  7256. <ID>90</ID>
  7257. <GUID>{B200EA24-3255-11D4-8604-00C026D00180}</GUID>
  7258. <PHNAME>Decimal</PHNAME>
  7259. <LLENGTH>1</LLENGTH>
  7260. <LDECIMAL>1</LDECIMAL>
  7261. <MAXLENGTH>20</MAXLENGTH>
  7262. <MINLENGTH>1</MINLENGTH>
  7263. <MAXDECIMAL>17</MAXDECIMAL>
  7264. <MINDECIMAL>0</MINDECIMAL>
  7265. <DEFAULTLENGTH>18</DEFAULTLENGTH>
  7266. <DEFAULTDECIMAL>2</DEFAULTDECIMAL>
  7267. <TRANSFORMCODE>DC</TRANSFORMCODE>
  7268. <TRANSFORMTO>N,15,5;F;</TRANSFORMTO>
  7269. <EXPORTTO>0</EXPORTTO>
  7270. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7271. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7272. <ODBCTYPE>0</ODBCTYPE>
  7273. <BDETYPE>0</BDETYPE>
  7274. </TYPE>
  7275. <TYPE>
  7276. <NAME>Serial</NAME>
  7277. <ID>100</ID>
  7278. <GUID>{B200EA25-3255-11D4-8604-00C026D00180}</GUID>
  7279. <PHNAME>Serial</PHNAME>
  7280. <LLENGTH>0</LLENGTH>
  7281. <LDECIMAL>0</LDECIMAL>
  7282. <MAXLENGTH>0</MAXLENGTH>
  7283. <MINLENGTH>0</MINLENGTH>
  7284. <MAXDECIMAL>0</MAXDECIMAL>
  7285. <MINDECIMAL>0</MINDECIMAL>
  7286. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7287. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7288. <TRANSFORMCODE>NO</TRANSFORMCODE>
  7289. <TRANSFORMTO>LI;I;N,10,0;</TRANSFORMTO>
  7290. <EXPORTTO>30</EXPORTTO>
  7291. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7292. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7293. <ODBCTYPE>0</ODBCTYPE>
  7294. <BDETYPE>0</BDETYPE>
  7295. </TYPE>
  7296. <TYPE>
  7297. <NAME>Money</NAME>
  7298. <ID>110</ID>
  7299. <GUID>{B200EA26-3255-11D4-8604-00C026D00180}</GUID>
  7300. <PHNAME>Money</PHNAME>
  7301. <LLENGTH>0</LLENGTH>
  7302. <LDECIMAL>0</LDECIMAL>
  7303. <MAXLENGTH>0</MAXLENGTH>
  7304. <MINLENGTH>0</MINLENGTH>
  7305. <MAXDECIMAL>0</MAXDECIMAL>
  7306. <MINDECIMAL>0</MINDECIMAL>
  7307. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7308. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7309. <TRANSFORMCODE>MN</TRANSFORMCODE>
  7310. <TRANSFORMTO>N,15,2;</TRANSFORMTO>
  7311. <EXPORTTO>0</EXPORTTO>
  7312. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7313. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7314. <ODBCTYPE>0</ODBCTYPE>
  7315. <BDETYPE>0</BDETYPE>
  7316. </TYPE>
  7317. <TYPE>
  7318. <NAME>Date</NAME>
  7319. <ID>120</ID>
  7320. <GUID>{B200EA27-3255-11D4-8604-00C026D00180}</GUID>
  7321. <PHNAME>Date</PHNAME>
  7322. <LLENGTH>0</LLENGTH>
  7323. <LDECIMAL>0</LDECIMAL>
  7324. <MAXLENGTH>0</MAXLENGTH>
  7325. <MINLENGTH>0</MINLENGTH>
  7326. <MAXDECIMAL>0</MAXDECIMAL>
  7327. <MINDECIMAL>0</MINDECIMAL>
  7328. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7329. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7330. <TRANSFORMCODE>D</TRANSFORMCODE>
  7331. <TRANSFORMTO>DT;</TRANSFORMTO>
  7332. <EXPORTTO>0</EXPORTTO>
  7333. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7334. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7335. <ODBCTYPE>0</ODBCTYPE>
  7336. <BDETYPE>0</BDETYPE>
  7337. </TYPE>
  7338. <TYPE>
  7339. <NAME>Datetime year to month</NAME>
  7340. <ID>130</ID>
  7341. <GUID>{B200EA28-3255-11D4-8604-00C026D00180}</GUID>
  7342. <PHNAME>Datetime year to month</PHNAME>
  7343. <LLENGTH>0</LLENGTH>
  7344. <LDECIMAL>0</LDECIMAL>
  7345. <MAXLENGTH>0</MAXLENGTH>
  7346. <MINLENGTH>0</MINLENGTH>
  7347. <MAXDECIMAL>0</MAXDECIMAL>
  7348. <MINDECIMAL>0</MINDECIMAL>
  7349. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7350. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7351. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7352. <TRANSFORMTO>D;</TRANSFORMTO>
  7353. <EXPORTTO>0</EXPORTTO>
  7354. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7355. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7356. <ODBCTYPE>0</ODBCTYPE>
  7357. <BDETYPE>0</BDETYPE>
  7358. </TYPE>
  7359. <TYPE>
  7360. <NAME>Datetime year to day</NAME>
  7361. <ID>131</ID>
  7362. <GUID>{B200EA29-3255-11D4-8604-00C026D00180}</GUID>
  7363. <PHNAME>Datetime year to day</PHNAME>
  7364. <LLENGTH>0</LLENGTH>
  7365. <LDECIMAL>0</LDECIMAL>
  7366. <MAXLENGTH>0</MAXLENGTH>
  7367. <MINLENGTH>0</MINLENGTH>
  7368. <MAXDECIMAL>0</MAXDECIMAL>
  7369. <MINDECIMAL>0</MINDECIMAL>
  7370. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7371. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7372. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7373. <TRANSFORMTO>D;</TRANSFORMTO>
  7374. <EXPORTTO>0</EXPORTTO>
  7375. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7376. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7377. <ODBCTYPE>0</ODBCTYPE>
  7378. <BDETYPE>0</BDETYPE>
  7379. </TYPE>
  7380. <TYPE>
  7381. <NAME>Datetime year to hour</NAME>
  7382. <ID>132</ID>
  7383. <GUID>{B200EA2A-3255-11D4-8604-00C026D00180}</GUID>
  7384. <PHNAME>Datetime year to hour</PHNAME>
  7385. <LLENGTH>0</LLENGTH>
  7386. <LDECIMAL>0</LDECIMAL>
  7387. <MAXLENGTH>0</MAXLENGTH>
  7388. <MINLENGTH>0</MINLENGTH>
  7389. <MAXDECIMAL>0</MAXDECIMAL>
  7390. <MINDECIMAL>0</MINDECIMAL>
  7391. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7392. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7393. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7394. <TRANSFORMTO>D;</TRANSFORMTO>
  7395. <EXPORTTO>0</EXPORTTO>
  7396. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7397. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7398. <ODBCTYPE>0</ODBCTYPE>
  7399. <BDETYPE>0</BDETYPE>
  7400. </TYPE>
  7401. <TYPE>
  7402. <NAME>Datetime year to minute</NAME>
  7403. <ID>133</ID>
  7404. <GUID>{B200EA2B-3255-11D4-8604-00C026D00180}</GUID>
  7405. <PHNAME>Datetime year to minute</PHNAME>
  7406. <LLENGTH>0</LLENGTH>
  7407. <LDECIMAL>0</LDECIMAL>
  7408. <MAXLENGTH>0</MAXLENGTH>
  7409. <MINLENGTH>0</MINLENGTH>
  7410. <MAXDECIMAL>0</MAXDECIMAL>
  7411. <MINDECIMAL>0</MINDECIMAL>
  7412. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7413. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7414. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7415. <TRANSFORMTO>D;</TRANSFORMTO>
  7416. <EXPORTTO>0</EXPORTTO>
  7417. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7418. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7419. <ODBCTYPE>0</ODBCTYPE>
  7420. <BDETYPE>0</BDETYPE>
  7421. </TYPE>
  7422. <TYPE>
  7423. <NAME>Datetime year to second</NAME>
  7424. <ID>134</ID>
  7425. <GUID>{B200EA2C-3255-11D4-8604-00C026D00180}</GUID>
  7426. <PHNAME>Datetime year to second</PHNAME>
  7427. <LLENGTH>0</LLENGTH>
  7428. <LDECIMAL>0</LDECIMAL>
  7429. <MAXLENGTH>0</MAXLENGTH>
  7430. <MINLENGTH>0</MINLENGTH>
  7431. <MAXDECIMAL>0</MAXDECIMAL>
  7432. <MINDECIMAL>0</MINDECIMAL>
  7433. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7434. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7435. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7436. <TRANSFORMTO>D;</TRANSFORMTO>
  7437. <EXPORTTO>0</EXPORTTO>
  7438. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7439. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7440. <ODBCTYPE>0</ODBCTYPE>
  7441. <BDETYPE>0</BDETYPE>
  7442. </TYPE>
  7443. <TYPE>
  7444. <NAME>Datetime year to fraction</NAME>
  7445. <ID>135</ID>
  7446. <GUID>{B200EA2D-3255-11D4-8604-00C026D00180}</GUID>
  7447. <PHNAME>Datetime year to fraction</PHNAME>
  7448. <LLENGTH>1</LLENGTH>
  7449. <LDECIMAL>0</LDECIMAL>
  7450. <MAXLENGTH>5</MAXLENGTH>
  7451. <MINLENGTH>1</MINLENGTH>
  7452. <MAXDECIMAL>0</MAXDECIMAL>
  7453. <MINDECIMAL>0</MINDECIMAL>
  7454. <DEFAULTLENGTH>3</DEFAULTLENGTH>
  7455. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7456. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7457. <TRANSFORMTO>D;</TRANSFORMTO>
  7458. <EXPORTTO>0</EXPORTTO>
  7459. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7460. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7461. <ODBCTYPE>0</ODBCTYPE>
  7462. <BDETYPE>0</BDETYPE>
  7463. </TYPE>
  7464. <TYPE>
  7465. <NAME>Datetime month to day</NAME>
  7466. <ID>136</ID>
  7467. <GUID>{B200EA2E-3255-11D4-8604-00C026D00180}</GUID>
  7468. <PHNAME>Datetime month to day</PHNAME>
  7469. <LLENGTH>0</LLENGTH>
  7470. <LDECIMAL>0</LDECIMAL>
  7471. <MAXLENGTH>0</MAXLENGTH>
  7472. <MINLENGTH>0</MINLENGTH>
  7473. <MAXDECIMAL>0</MAXDECIMAL>
  7474. <MINDECIMAL>0</MINDECIMAL>
  7475. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7476. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7477. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7478. <TRANSFORMTO>D;</TRANSFORMTO>
  7479. <EXPORTTO>0</EXPORTTO>
  7480. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7481. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7482. <ODBCTYPE>0</ODBCTYPE>
  7483. <BDETYPE>0</BDETYPE>
  7484. </TYPE>
  7485. <TYPE>
  7486. <NAME>Datetime month to hour</NAME>
  7487. <ID>137</ID>
  7488. <GUID>{B200EA2F-3255-11D4-8604-00C026D00180}</GUID>
  7489. <PHNAME>Datetime month to hour</PHNAME>
  7490. <LLENGTH>0</LLENGTH>
  7491. <LDECIMAL>0</LDECIMAL>
  7492. <MAXLENGTH>0</MAXLENGTH>
  7493. <MINLENGTH>0</MINLENGTH>
  7494. <MAXDECIMAL>0</MAXDECIMAL>
  7495. <MINDECIMAL>0</MINDECIMAL>
  7496. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7497. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7498. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7499. <TRANSFORMTO>D;</TRANSFORMTO>
  7500. <EXPORTTO>0</EXPORTTO>
  7501. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7502. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7503. <ODBCTYPE>0</ODBCTYPE>
  7504. <BDETYPE>0</BDETYPE>
  7505. </TYPE>
  7506. <TYPE>
  7507. <NAME>Datetime month to minute</NAME>
  7508. <ID>138</ID>
  7509. <GUID>{B200EA30-3255-11D4-8604-00C026D00180}</GUID>
  7510. <PHNAME>Datetime month to minute</PHNAME>
  7511. <LLENGTH>0</LLENGTH>
  7512. <LDECIMAL>0</LDECIMAL>
  7513. <MAXLENGTH>0</MAXLENGTH>
  7514. <MINLENGTH>0</MINLENGTH>
  7515. <MAXDECIMAL>0</MAXDECIMAL>
  7516. <MINDECIMAL>0</MINDECIMAL>
  7517. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7518. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7519. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7520. <TRANSFORMTO>D;</TRANSFORMTO>
  7521. <EXPORTTO>0</EXPORTTO>
  7522. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7523. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7524. <ODBCTYPE>0</ODBCTYPE>
  7525. <BDETYPE>0</BDETYPE>
  7526. </TYPE>
  7527. <TYPE>
  7528. <NAME>Datetime month to second</NAME>
  7529. <ID>139</ID>
  7530. <GUID>{B200EA31-3255-11D4-8604-00C026D00180}</GUID>
  7531. <PHNAME>Datetime month to second</PHNAME>
  7532. <LLENGTH>0</LLENGTH>
  7533. <LDECIMAL>0</LDECIMAL>
  7534. <MAXLENGTH>0</MAXLENGTH>
  7535. <MINLENGTH>0</MINLENGTH>
  7536. <MAXDECIMAL>0</MAXDECIMAL>
  7537. <MINDECIMAL>0</MINDECIMAL>
  7538. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7539. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7540. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7541. <TRANSFORMTO>D;</TRANSFORMTO>
  7542. <EXPORTTO>0</EXPORTTO>
  7543. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7544. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7545. <ODBCTYPE>0</ODBCTYPE>
  7546. <BDETYPE>0</BDETYPE>
  7547. </TYPE>
  7548. <TYPE>
  7549. <NAME>Datetime month to fraction</NAME>
  7550. <ID>140</ID>
  7551. <GUID>{B200EA32-3255-11D4-8604-00C026D00180}</GUID>
  7552. <PHNAME>Datetime month to fraction</PHNAME>
  7553. <LLENGTH>1</LLENGTH>
  7554. <LDECIMAL>0</LDECIMAL>
  7555. <MAXLENGTH>5</MAXLENGTH>
  7556. <MINLENGTH>1</MINLENGTH>
  7557. <MAXDECIMAL>0</MAXDECIMAL>
  7558. <MINDECIMAL>0</MINDECIMAL>
  7559. <DEFAULTLENGTH>3</DEFAULTLENGTH>
  7560. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7561. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7562. <TRANSFORMTO>D;</TRANSFORMTO>
  7563. <EXPORTTO>0</EXPORTTO>
  7564. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7565. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7566. <ODBCTYPE>0</ODBCTYPE>
  7567. <BDETYPE>0</BDETYPE>
  7568. </TYPE>
  7569. <TYPE>
  7570. <NAME>Datetime day to hour</NAME>
  7571. <ID>141</ID>
  7572. <GUID>{B200EA33-3255-11D4-8604-00C026D00180}</GUID>
  7573. <PHNAME>Datetime day to hour</PHNAME>
  7574. <LLENGTH>0</LLENGTH>
  7575. <LDECIMAL>0</LDECIMAL>
  7576. <MAXLENGTH>0</MAXLENGTH>
  7577. <MINLENGTH>0</MINLENGTH>
  7578. <MAXDECIMAL>0</MAXDECIMAL>
  7579. <MINDECIMAL>0</MINDECIMAL>
  7580. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7581. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7582. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7583. <TRANSFORMTO>D;</TRANSFORMTO>
  7584. <EXPORTTO>0</EXPORTTO>
  7585. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7586. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7587. <ODBCTYPE>0</ODBCTYPE>
  7588. <BDETYPE>0</BDETYPE>
  7589. </TYPE>
  7590. <TYPE>
  7591. <NAME>Datetime day to minute</NAME>
  7592. <ID>142</ID>
  7593. <GUID>{B200EA34-3255-11D4-8604-00C026D00180}</GUID>
  7594. <PHNAME>Datetime day to minute</PHNAME>
  7595. <LLENGTH>0</LLENGTH>
  7596. <LDECIMAL>0</LDECIMAL>
  7597. <MAXLENGTH>0</MAXLENGTH>
  7598. <MINLENGTH>0</MINLENGTH>
  7599. <MAXDECIMAL>0</MAXDECIMAL>
  7600. <MINDECIMAL>0</MINDECIMAL>
  7601. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7602. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7603. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7604. <TRANSFORMTO>D;</TRANSFORMTO>
  7605. <EXPORTTO>0</EXPORTTO>
  7606. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7607. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7608. <ODBCTYPE>0</ODBCTYPE>
  7609. <BDETYPE>0</BDETYPE>
  7610. </TYPE>
  7611. <TYPE>
  7612. <NAME>Datetime day to second</NAME>
  7613. <ID>143</ID>
  7614. <GUID>{B200EA35-3255-11D4-8604-00C026D00180}</GUID>
  7615. <PHNAME>Datetime day to second</PHNAME>
  7616. <LLENGTH>0</LLENGTH>
  7617. <LDECIMAL>0</LDECIMAL>
  7618. <MAXLENGTH>0</MAXLENGTH>
  7619. <MINLENGTH>0</MINLENGTH>
  7620. <MAXDECIMAL>0</MAXDECIMAL>
  7621. <MINDECIMAL>0</MINDECIMAL>
  7622. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7623. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7624. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7625. <TRANSFORMTO>D;</TRANSFORMTO>
  7626. <EXPORTTO>0</EXPORTTO>
  7627. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7628. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7629. <ODBCTYPE>0</ODBCTYPE>
  7630. <BDETYPE>0</BDETYPE>
  7631. </TYPE>
  7632. <TYPE>
  7633. <NAME>Datetime day to fraction</NAME>
  7634. <ID>144</ID>
  7635. <GUID>{B200EA36-3255-11D4-8604-00C026D00180}</GUID>
  7636. <PHNAME>Datetime day to fraction</PHNAME>
  7637. <LLENGTH>1</LLENGTH>
  7638. <LDECIMAL>0</LDECIMAL>
  7639. <MAXLENGTH>5</MAXLENGTH>
  7640. <MINLENGTH>1</MINLENGTH>
  7641. <MAXDECIMAL>0</MAXDECIMAL>
  7642. <MINDECIMAL>0</MINDECIMAL>
  7643. <DEFAULTLENGTH>3</DEFAULTLENGTH>
  7644. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7645. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7646. <TRANSFORMTO>D;</TRANSFORMTO>
  7647. <EXPORTTO>0</EXPORTTO>
  7648. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7649. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7650. <ODBCTYPE>0</ODBCTYPE>
  7651. <BDETYPE>0</BDETYPE>
  7652. </TYPE>
  7653. <TYPE>
  7654. <NAME>Datetime hour to minute</NAME>
  7655. <ID>145</ID>
  7656. <GUID>{B200EA37-3255-11D4-8604-00C026D00180}</GUID>
  7657. <PHNAME>Datetime hour to minute</PHNAME>
  7658. <LLENGTH>0</LLENGTH>
  7659. <LDECIMAL>0</LDECIMAL>
  7660. <MAXLENGTH>0</MAXLENGTH>
  7661. <MINLENGTH>0</MINLENGTH>
  7662. <MAXDECIMAL>0</MAXDECIMAL>
  7663. <MINDECIMAL>0</MINDECIMAL>
  7664. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7665. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7666. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7667. <TRANSFORMTO>D;</TRANSFORMTO>
  7668. <EXPORTTO>0</EXPORTTO>
  7669. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7670. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7671. <ODBCTYPE>0</ODBCTYPE>
  7672. <BDETYPE>0</BDETYPE>
  7673. </TYPE>
  7674. <TYPE>
  7675. <NAME>Datetime hour to second</NAME>
  7676. <ID>146</ID>
  7677. <GUID>{B200EA38-3255-11D4-8604-00C026D00180}</GUID>
  7678. <PHNAME>Datetime hour to second</PHNAME>
  7679. <LLENGTH>0</LLENGTH>
  7680. <LDECIMAL>0</LDECIMAL>
  7681. <MAXLENGTH>0</MAXLENGTH>
  7682. <MINLENGTH>0</MINLENGTH>
  7683. <MAXDECIMAL>0</MAXDECIMAL>
  7684. <MINDECIMAL>0</MINDECIMAL>
  7685. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7686. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7687. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7688. <TRANSFORMTO>D;</TRANSFORMTO>
  7689. <EXPORTTO>0</EXPORTTO>
  7690. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7691. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7692. <ODBCTYPE>0</ODBCTYPE>
  7693. <BDETYPE>0</BDETYPE>
  7694. </TYPE>
  7695. <TYPE>
  7696. <NAME>Datetime hour to fraction</NAME>
  7697. <ID>147</ID>
  7698. <GUID>{B200EA39-3255-11D4-8604-00C026D00180}</GUID>
  7699. <PHNAME>Datetime hour to fraction</PHNAME>
  7700. <LLENGTH>1</LLENGTH>
  7701. <LDECIMAL>0</LDECIMAL>
  7702. <MAXLENGTH>5</MAXLENGTH>
  7703. <MINLENGTH>1</MINLENGTH>
  7704. <MAXDECIMAL>0</MAXDECIMAL>
  7705. <MINDECIMAL>0</MINDECIMAL>
  7706. <DEFAULTLENGTH>3</DEFAULTLENGTH>
  7707. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7708. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7709. <TRANSFORMTO>D;</TRANSFORMTO>
  7710. <EXPORTTO>0</EXPORTTO>
  7711. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7712. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7713. <ODBCTYPE>0</ODBCTYPE>
  7714. <BDETYPE>0</BDETYPE>
  7715. </TYPE>
  7716. <TYPE>
  7717. <NAME>Datetime minute to second</NAME>
  7718. <ID>148</ID>
  7719. <GUID>{B200EA3A-3255-11D4-8604-00C026D00180}</GUID>
  7720. <PHNAME>Datetime minute to second</PHNAME>
  7721. <LLENGTH>0</LLENGTH>
  7722. <LDECIMAL>0</LDECIMAL>
  7723. <MAXLENGTH>0</MAXLENGTH>
  7724. <MINLENGTH>0</MINLENGTH>
  7725. <MAXDECIMAL>0</MAXDECIMAL>
  7726. <MINDECIMAL>0</MINDECIMAL>
  7727. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7728. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7729. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7730. <TRANSFORMTO>D;</TRANSFORMTO>
  7731. <EXPORTTO>0</EXPORTTO>
  7732. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7733. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7734. <ODBCTYPE>0</ODBCTYPE>
  7735. <BDETYPE>0</BDETYPE>
  7736. </TYPE>
  7737. <TYPE>
  7738. <NAME>Datetime minute to fraction</NAME>
  7739. <ID>149</ID>
  7740. <GUID>{B200EA3B-3255-11D4-8604-00C026D00180}</GUID>
  7741. <PHNAME>Datetime minute to fraction</PHNAME>
  7742. <LLENGTH>1</LLENGTH>
  7743. <LDECIMAL>0</LDECIMAL>
  7744. <MAXLENGTH>5</MAXLENGTH>
  7745. <MINLENGTH>1</MINLENGTH>
  7746. <MAXDECIMAL>0</MAXDECIMAL>
  7747. <MINDECIMAL>0</MINDECIMAL>
  7748. <DEFAULTLENGTH>3</DEFAULTLENGTH>
  7749. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7750. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7751. <TRANSFORMTO>D;</TRANSFORMTO>
  7752. <EXPORTTO>0</EXPORTTO>
  7753. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7754. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7755. <ODBCTYPE>0</ODBCTYPE>
  7756. <BDETYPE>0</BDETYPE>
  7757. </TYPE>
  7758. <TYPE>
  7759. <NAME>Datetime second to fraction</NAME>
  7760. <ID>150</ID>
  7761. <GUID>{B200EA3C-3255-11D4-8604-00C026D00180}</GUID>
  7762. <PHNAME>Datetime second to fraction</PHNAME>
  7763. <LLENGTH>1</LLENGTH>
  7764. <LDECIMAL>0</LDECIMAL>
  7765. <MAXLENGTH>5</MAXLENGTH>
  7766. <MINLENGTH>1</MINLENGTH>
  7767. <MAXDECIMAL>0</MAXDECIMAL>
  7768. <MINDECIMAL>0</MINDECIMAL>
  7769. <DEFAULTLENGTH>3</DEFAULTLENGTH>
  7770. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7771. <TRANSFORMCODE>DT</TRANSFORMCODE>
  7772. <TRANSFORMTO>D;</TRANSFORMTO>
  7773. <EXPORTTO>0</EXPORTTO>
  7774. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7775. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7776. <ODBCTYPE>0</ODBCTYPE>
  7777. <BDETYPE>0</BDETYPE>
  7778. </TYPE>
  7779. <TYPE>
  7780. <NAME>Text</NAME>
  7781. <ID>160</ID>
  7782. <GUID>{B200EA3D-3255-11D4-8604-00C026D00180}</GUID>
  7783. <PHNAME>Text</PHNAME>
  7784. <LLENGTH>0</LLENGTH>
  7785. <LDECIMAL>0</LDECIMAL>
  7786. <MAXLENGTH>0</MAXLENGTH>
  7787. <MINLENGTH>0</MINLENGTH>
  7788. <MAXDECIMAL>0</MAXDECIMAL>
  7789. <MINDECIMAL>0</MINDECIMAL>
  7790. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7791. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7792. <TRANSFORMCODE>TXT</TRANSFORMCODE>
  7793. <TRANSFORMTO>LVA;LA;BIN;LBIN;</TRANSFORMTO>
  7794. <EXPORTTO>0</EXPORTTO>
  7795. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7796. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7797. <ODBCTYPE>0</ODBCTYPE>
  7798. <BDETYPE>0</BDETYPE>
  7799. </TYPE>
  7800. <TYPE>
  7801. <NAME>Byte</NAME>
  7802. <ID>170</ID>
  7803. <GUID>{B200EA3E-3255-11D4-8604-00C026D00180}</GUID>
  7804. <PHNAME>Byte</PHNAME>
  7805. <LLENGTH>0</LLENGTH>
  7806. <LDECIMAL>0</LDECIMAL>
  7807. <MAXLENGTH>0</MAXLENGTH>
  7808. <MINLENGTH>0</MINLENGTH>
  7809. <MAXDECIMAL>0</MAXDECIMAL>
  7810. <MINDECIMAL>0</MINDECIMAL>
  7811. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7812. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7813. <TRANSFORMCODE>BT</TRANSFORMCODE>
  7814. <TRANSFORMTO>LBIN;</TRANSFORMTO>
  7815. <EXPORTTO>0</EXPORTTO>
  7816. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7817. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7818. <ODBCTYPE>0</ODBCTYPE>
  7819. <BDETYPE>0</BDETYPE>
  7820. </TYPE>
  7821. <TYPE>
  7822. <NAME>Empty</NAME>
  7823. <ID>200</ID>
  7824. <GUID>{B200EA3F-3255-11D4-8604-00C026D00180}</GUID>
  7825. <PHNAME></PHNAME>
  7826. <LLENGTH>0</LLENGTH>
  7827. <LDECIMAL>0</LDECIMAL>
  7828. <MAXLENGTH>0</MAXLENGTH>
  7829. <MINLENGTH>0</MINLENGTH>
  7830. <MAXDECIMAL>0</MAXDECIMAL>
  7831. <MINDECIMAL>0</MINDECIMAL>
  7832. <DEFAULTLENGTH>0</DEFAULTLENGTH>
  7833. <DEFAULTDECIMAL>0</DEFAULTDECIMAL>
  7834. <TRANSFORMCODE></TRANSFORMCODE>
  7835. <TRANSFORMTO></TRANSFORMTO>
  7836. <EXPORTTO>0</EXPORTTO>
  7837. <EXPORTTOLENGTH>0</EXPORTTOLENGTH>
  7838. <EXPORTTODECIMAL>0</EXPORTTODECIMAL>
  7839. <ODBCTYPE>0</ODBCTYPE>
  7840. <BDETYPE>0</BDETYPE>
  7841. </TYPE>
  7842. </TYPELIST>
  7843. <MAXLENGTHTABLENAME>18</MAXLENGTHTABLENAME>
  7844. <MAXLENGTHCOLNAME>18</MAXLENGTHCOLNAME>
  7845. <MAXLENGTHINDEXNAME>18</MAXLENGTHINDEXNAME>
  7846. <DEFAULTCHAR>_</DEFAULTCHAR>
  7847. <INVALIDCHARACTERS> !"#$%&'()*+,-./:;<=>?@[\]^`{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ </INVALIDCHARACTERS>
  7848. <DELIMCHARACTERSPARSER>"</DELIMCHARACTERSPARSER>
  7849. <DELIMCHARACTERSSCRIPT>'</DELIMCHARACTERSSCRIPT>
  7850. <DEFAULTTYPEID>10</DEFAULTTYPEID>
  7851. </SERVER>
  7852. <SYSTEM>
  7853. <TEMPLATES>
  7854. <TEMPLATE>
  7855. <NAME>HtmlTableDetail</NAME>
  7856. <ID>238</ID>
  7857. <GUID>{B200E8C0-3255-11D4-8604-00C026D00180}</GUID>
  7858. <ENABLED>1</ENABLED>
  7859. <LEVEL>0</LEVEL>
  7860. <IDPARENT>0</IDPARENT>
  7861. <VALUE><![CDATA[<a name = %c5%#%tablename%%c5%>
  7862. <table border=1 cellspacing=0>
  7863. <tr>
  7864. <th colspan=6>%TableName%</th>
  7865. </tr>
  7866. <tr>
  7867. <th>Table name</th><th>Datatype</th><th>Not Null</th><th>Unique</th><th>Check</th><th>Default</th>
  7868. </tr>
  7869. @forcol("","","<tr><td>%colname%</td><td>%typsql%</td><td>"+if(NotNull,"Not Null","Null")+"</td><td>%YesNo(UniqueAtr)%</td><td>%check% </td><td>%default% </td></tr>","","")
  7870. <tr>
  7871. <td><b>Primary key</b></td>
  7872. <td colspan=6>
  7873. @forpkcol("", "", ColName, ",", "")
  7874. </td>
  7875. </tr>
  7876. </table>
  7877. <br>
  7878. <b>Alternate keys</b>
  7879. <table border=1 cellspacing=0>
  7880. <tr>
  7881. <th>Name</th><th>Constraint</th><th>Keys</th>
  7882. </tr>
  7883. <tr>
  7884. @foralterKey("","","<td>%alterKeyName%</td><td>%AlterKeyConstraintName%</td><td>%AlterKeyKeys%</td>","","")
  7885. </tr>
  7886. </table>
  7887. <br>
  7888. <b>Indexes</b>
  7889. <table border=1 cellspacing=0>
  7890. <tr>
  7891. <th>Index name</th><th>Items</th><th>Unique</td>
  7892. </tr>
  7893. @forindex("","","<tr><td>%indexname%</td><td>"+ForIndexCol("","",Colname,",","")+"</td><td>%YesNo(Unique)%</td></tr>","","")
  7894. </table>
  7895. <br>
  7896. <b>Relationships</b>
  7897. <table border=1 cellspacing=0>
  7898. <tr>
  7899. <th>Relname</th><th>Parent table name</th><th>Child table name</th><th>Key</th>
  7900. </tr>
  7901. @ForChild("", "", "<tr><td> %RelName%</td><td>%ParentTableName%</td><td>%ChildTableName%</td><td>%ParentKeys%</td></tr>", "", "")
  7902. @ForParent("", "", "<tr><td> %RelName%</td><td>%ParentTableName%</td><td>%ChildTableName%</td><td>%ChildKeys%</td></tr>", "", "")
  7903. </table>
  7904. <br><br>
  7905.  
  7906. ]]></VALUE>
  7907. <LANGUAGE>0</LANGUAGE>
  7908. <CATEGORY>3</CATEGORY>
  7909. </TEMPLATE>
  7910. <TEMPLATE>
  7911. <NAME>HtmlReport</NAME>
  7912. <ID>239</ID>
  7913. <GUID>{B200E8C1-3255-11D4-8604-00C026D00180}</GUID>
  7914. <ENABLED>1</ENABLED>
  7915. <LEVEL>0</LEVEL>
  7916. <IDPARENT>0</IDPARENT>
  7917. <VALUE><![CDATA[@ShowMessage("Menu")
  7918. @templatetofile(htmlmenu,HtmlDirectory+"menu.htm")
  7919.  
  7920. @ShowMessage("Model info")
  7921. @TemplateToFile(HtmlModelInfo,HtmlDirectory + "ModelInf.htm")
  7922.  
  7923. @ShowMessage("Tables")
  7924. @TemplateToFile(HtmlTables,HtmlDirectory+"Tables.htm")
  7925. @templatetofile(HtmlTableList,HtmlDirectory+"tablelist.htm")
  7926. @templatetofile(htmltableDetails,HtmlDirectory+"TableDetail.htm")
  7927.  
  7928. @ShowMessage("Columns")
  7929. @TemplateToFile(HtmlColumns,HtmlDirectory+"Columns.htm")
  7930. @TemplateToFile(HtmlColumnList,HtmlDirectory+"ColumnList.htm")
  7931. @TemplateToFile(HtmlColDetails,HtmlDirectory+"ColumnDetail.htm")
  7932.  
  7933. @ShowMessage("Dictionary")
  7934. @templatetofile(htmldicts,HtmlDirectory+"dicts.htm")
  7935. @templatetofile(htmldictlist,HtmlDirectory+"dictlist.htm")
  7936. @templatetofile(HtmlDictDetails,HtmlDirectory+"Dictdetail.htm")
  7937.  
  7938. @ShowMessage("Triggers")
  7939. @TemplateToFile(HtmlTriggers,HtmlDirectory+"Triggers.htm")
  7940. @TemplateToFile(HtmlTrigerList,HtmlDirectory+"TriggerList.htm")
  7941. @TemplateToFile(HtmlTriggerDetails,HtmlDirectory+"TriggerDetail.htm")
  7942.  
  7943. @ShowMessage("Procedures")
  7944. @TemplateToFile(HtmlProcedures,HtmlDirectory+"Procedures.Htm")
  7945. @TemplateToFile(HtmlProcedureList,HtmlDirectory+"procedureList.htm")
  7946. @TemplateToFile(HtmlProcedureDetails,HtmlDirectory+"proceduredetail.htm")
  7947.  
  7948. @ShowMessage("Views")
  7949. @templatetofile(HtmlViews,HtmlDirectory+"Views.htm")
  7950. @templatetofile(htmlviewlist,HtmlDirectory+"ViewList.htm")
  7951. @TemplateToFile(HtmlViewDetails,HtmlDirectory+"viewdetail.htm")
  7952.  
  7953.  
  7954. <HTML>
  7955. <HEAD>
  7956. <TITLE>CASE Studio Report</TITLE>
  7957. </HEAD>
  7958.  
  7959. <frameset rows = "50,*" BORDER="0" FRAMEBORDER="no" FRAMESPACING="0">
  7960.  <frame name = "top" marginheignt="0" marginwidth="0" SRC="menu.htm" NORESIZE >
  7961.  <frame name = "bottom" SRC = "modelinf.htm" NORESIZE>
  7962. </frameset>
  7963. </HTML>
  7964.  
  7965. @ShowMessage("Konec")
  7966. ]]></VALUE>
  7967. <LANGUAGE>0</LANGUAGE>
  7968. <CATEGORY>3</CATEGORY>
  7969. </TEMPLATE>
  7970. <TEMPLATE>
  7971. <NAME>HtmlTableList</NAME>
  7972. <ID>240</ID>
  7973. <GUID>{B200E8C2-3255-11D4-8604-00C026D00180}</GUID>
  7974. <ENABLED>1</ENABLED>
  7975. <LEVEL>0</LEVEL>
  7976. <IDPARENT>0</IDPARENT>
  7977. <VALUE><![CDATA[<html>
  7978. <body bgcolor="#FFFFFF" vlink="#0000FF" alink="#0000FF">
  7979. <br><br>
  7980. <p>
  7981. <font size="2">
  7982. <ul>
  7983. @fortable("","","<li><a href=%c5%tabledetail.htm##%tablename%%c5% target=%c5%right%c5%>%tablename%</a><br>%cr%","","")
  7984. </ul>
  7985. </p>
  7986. </body>
  7987. </html>
  7988. ]]></VALUE>
  7989. <LANGUAGE>0</LANGUAGE>
  7990. <CATEGORY>3</CATEGORY>
  7991. </TEMPLATE>
  7992. <TEMPLATE>
  7993. <NAME>HtmlMenu</NAME>
  7994. <ID>241</ID>
  7995. <GUID>{B200E8C3-3255-11D4-8604-00C026D00180}</GUID>
  7996. <ENABLED>1</ENABLED>
  7997. <LEVEL>0</LEVEL>
  7998. <IDPARENT>0</IDPARENT>
  7999. <VALUE><![CDATA[<html>
  8000. <head>
  8001. </head>
  8002.  
  8003. <body bgcolor="#FFFFFF" vlink="#0000FF" alink="#0000FF">
  8004.  
  8005.  
  8006.  <a href="http://www.casestudio.com"><img src="file:///%HtmlImagesDirectory%logo.JPG" border="0"></a>
  8007.  
  8008.  <a href="modelinf.htm" target="bottom"><img src="file:///%HtmlImagesDirectory%mModelInfo.JPG" border="0" ></a>
  8009.  <a href="tables.htm" target="bottom"><img src="file:///%HtmlImagesDirectory%mtables.JPG" border="0" ></a>
  8010.  <a href = "columns.htm" target="bottom"><img src="file:///%HtmlImagesDirectory%mColumns.JPG"  border="0"></a> 
  8011.  <a href="dicts.htm" target="bottom"><img src="file:///%HtmlImagesDirectory%mDictionary.JPG" border="0"></a>
  8012.  <a href="triggers.htm" target="bottom"><img src="file:///%HtmlImagesDirectory%mTriggers.JPG" border="0"></a>
  8013.  <a href="procedures.htm" target="bottom"><img src="file:///%HtmlImagesDirectory%mProcedures.jpg" border="0"></a>
  8014.  <a href="views.htm" target="bottom"><img src="file:///%HtmlImagesDirectory%mViews.JPG" border="0"></a> 
  8015.  
  8016.   
  8017. </body>
  8018. </html>
  8019. ]]></VALUE>
  8020. <LANGUAGE>0</LANGUAGE>
  8021. <CATEGORY>3</CATEGORY>
  8022. </TEMPLATE>
  8023. <TEMPLATE>
  8024. <NAME>HtmlDictList</NAME>
  8025. <ID>243</ID>
  8026. <GUID>{B200E8C4-3255-11D4-8604-00C026D00180}</GUID>
  8027. <ENABLED>1</ENABLED>
  8028. <LEVEL>0</LEVEL>
  8029. <IDPARENT>0</IDPARENT>
  8030. <VALUE><![CDATA[<html>
  8031. <body bgcolor="#FFFFFF" vlink="#0000FF" alink="#0000FF">
  8032. <font size="2">
  8033. <p>
  8034. <ul>
  8035. @ForDict("","","<li><a href=%c5%DictDetail.htm##%dictname%%c5% target=%c5%right%c5%>%DictName%</a><br>","","")
  8036. </ul>
  8037. </body>
  8038. </html>
  8039. ]]></VALUE>
  8040. <LANGUAGE>0</LANGUAGE>
  8041. <CATEGORY>3</CATEGORY>
  8042. </TEMPLATE>
  8043. <TEMPLATE>
  8044. <NAME>HtmlColumnList</NAME>
  8045. <ID>244</ID>
  8046. <GUID>{B200E8C5-3255-11D4-8604-00C026D00180}</GUID>
  8047. <ENABLED>1</ENABLED>
  8048. <LEVEL>0</LEVEL>
  8049. <IDPARENT>0</IDPARENT>
  8050. <VALUE><![CDATA[<html>
  8051. <body bgcolor="#FFFFFF" vlink="#0000FF" alink="#0000FF">
  8052. <br>
  8053. <br>
  8054. <font size="2">
  8055. @fortable("","","<ul>"+forcol("","","<li><a href=%c5%ColumnDetail.htm##%tablename%%colname%%c5% target=%c5%right%c5%>%tablename%.%colname%</a><br>","","")+"</ul>","<br>","")
  8056. </body>
  8057. </html>
  8058. ]]></VALUE>
  8059. <LANGUAGE>0</LANGUAGE>
  8060. <CATEGORY>3</CATEGORY>
  8061. </TEMPLATE>
  8062. <TEMPLATE>
  8063. <NAME>HtmlColDetails</NAME>
  8064. <ID>245</ID>
  8065. <GUID>{B200E8C6-3255-11D4-8604-00C026D00180}</GUID>
  8066. <ENABLED>1</ENABLED>
  8067. <LEVEL>0</LEVEL>
  8068. <IDPARENT>0</IDPARENT>
  8069. <VALUE><![CDATA[<html>
  8070. <body bgcolor="#FFFFFF" vlink="#0000FF" alink="#0000FF">
  8071. @ForTable("","", ForCol("", "", Template(HtmlColDetail), "", ""),"","")
  8072. </body>
  8073. </html>
  8074. ]]></VALUE>
  8075. <LANGUAGE>0</LANGUAGE>
  8076. <CATEGORY>3</CATEGORY>
  8077. </TEMPLATE>
  8078. <TEMPLATE>
  8079. <NAME>HtmlColDetail</NAME>
  8080. <ID>246</ID>
  8081. <GUID>{B200E8C7-3255-11D4-8604-00C026D00180}</GUID>
  8082. <ENABLED>1</ENABLED>
  8083. <LEVEL>0</LEVEL>
  8084. <IDPARENT>0</IDPARENT>
  8085. <VALUE><![CDATA[<a name = %c5%#%tablename%%colname%%c5%>
  8086. <table border=1 cellspacing=0>
  8087. <tr>
  8088. <th colspan="2">%colname%</th>
  8089. </tr>
  8090. <tr>
  8091. <td>Table name</td><td> %tablename%</td>
  8092. </tr>
  8093. <tr>
  8094. <td>Datatype</td><td> %typsql%</td>
  8095. </tr>
  8096. <tr>
  8097. <td>Dict name</td><td> %dictname%</td>
  8098. </tr>
  8099. <tr>
  8100. <td>Nullable</td><td>@if(NotNull,"Not Null","Null")</td>
  8101. </tr>
  8102. <tr>
  8103. <td>Name unique constraint</td><td>%constraintatrunique% </td>
  8104. </tr>
  8105. <tr>
  8106. <td>Unique</td><td>@YesNo(unique)</td>
  8107. </tr>
  8108. <tr>
  8109. <td>Name check constraint</td><td> %constraintcheck%</td>
  8110. </tr>
  8111. <tr>
  8112. <td>Check</td><td> %check%</td>
  8113. </tr>
  8114. <tr>
  8115. <td>Default</td><td> %default%</td>
  8116. </tr>
  8117. <tr>
  8118. <td>Def 1</td><td> %defvalue%</td>
  8119. </tr>
  8120. <tr>
  8121. <td>Def 2</td><td> %def2value%</td>
  8122. </tr>
  8123. <tr>
  8124. <td>Description</td><td> %atrdescription%</td>
  8125. </tr>
  8126. </table>
  8127. <p>
  8128. ]]></VALUE>
  8129. <LANGUAGE>0</LANGUAGE>
  8130. <CATEGORY>3</CATEGORY>
  8131. </TEMPLATE>
  8132. <TEMPLATE>
  8133. <NAME>HtmlDictDetails</NAME>
  8134. <ID>247</ID>
  8135. <GUID>{B200E8C8-3255-11D4-8604-00C026D00180}</GUID>
  8136. <ENABLED>1</ENABLED>
  8137. <LEVEL>0</LEVEL>
  8138. <IDPARENT>0</IDPARENT>
  8139. <VALUE><![CDATA[<html>
  8140. <body bgcolor="#FFFFFF" vlink="#0000FF" alink="#0000FF">
  8141. @fordict("","",Template(HtmlDictDetail),"","")
  8142. </body>
  8143. </html>
  8144. ]]></VALUE>
  8145. <LANGUAGE>0</LANGUAGE>
  8146. <CATEGORY>0</CATEGORY>
  8147. </TEMPLATE>
  8148. <TEMPLATE>
  8149. <NAME>HtmlDictDetail</NAME>
  8150. <ID>248</ID>
  8151. <GUID>{B200E8C9-3255-11D4-8604-00C026D00180}</GUID>
  8152. <ENABLED>1</ENABLED>
  8153. <LEVEL>0</LEVEL>
  8154. <IDPARENT>0</IDPARENT>
  8155. <VALUE><![CDATA[<a name = "#%dictname%">
  8156. <table border=1 cellspacing=0>
  8157. <tr>
  8158. <td>Name</td><td> %dictname%</td>
  8159. </tr>
  8160. <tr>
  8161. <td>Datatype</td><td> %typsql%</td>
  8162. </tr>
  8163. <tr>
  8164. <td>Default</td><td> %default%</td>
  8165. </tr>
  8166. <td>Check</td><td> %check%</td>
  8167. </tr>
  8168. <tr>
  8169. <td>Def</td><td> %defvalue%</td>
  8170. </tr>
  8171. <tr>
  8172. <td>Def 2</td><td> %def2value%</td>
  8173. </tr>
  8174. <tr>
  8175. <td>Description</td><td> %dictdescription%</td>
  8176. </tr>
  8177. </table>
  8178. <p>
  8179. ]]></VALUE>
  8180. <LANGUAGE>0</LANGUAGE>
  8181. <CATEGORY>0</CATEGORY>
  8182. </TEMPLATE>
  8183. <TEMPLATE>
  8184. <NAME>HtmlTrigerList</NAME>
  8185. <ID>249</ID>
  8186. <GUID>{B200E8CA-3255-11D4-8604-00C026D00180}</GUID>
  8187. <ENABLED>1</ENABLED>
  8188. <LEVEL>0</LEVEL>
  8189. <IDPARENT>0</IDPARENT>
  8190. <VALUE><![CDATA[<html>
  8191. <body bgcolor="#FFFFFF" vlink="#0000FF" alink="#0000FF">
  8192. <font size=2>
  8193. <p>
  8194. <ul>
  8195. {not Empty(beforescript)}
  8196. <li><a href="triggerdetail.htm##beforetrigger" target="right">Before script</a><br>
  8197. {Empty(beforescript)}
  8198. <li>Before Script
  8199. {not Empty(AfterScript)}
  8200. <li><a href="triggerdetail.htm##aftertrigger" target="right">After script</a><br>
  8201. {Empty(AfterScript)}
  8202. <li>After script<br>
  8203. {true}
  8204. </ul>
  8205. </p>
  8206. <b>Triggers for entities</b><br>
  8207. <p>
  8208. <ul>
  8209. @fortable("","","<li>"+if(Empty(UserTrigger),"%TableName%","<a href=%c5%triggerdetail.htm##trigtab%tablename%%c5% target=%c5%right%c5%>%TableName%</a>")+"<br>%cr%","","")
  8210. </ul>
  8211. </p>
  8212. <b>User triggers</b><br>
  8213. <p>
  8214. <ul>
  8215. @fortrigger("","","<li><a href=%c5%triggerdetail.htm##trig%TriggerName%%c5% target=%c5%right%c5%>%TriggerName%</a><br>","%cr%","")
  8216. </ul>
  8217. </p>
  8218. </body>
  8219. </html>
  8220. ]]></VALUE>
  8221. <LANGUAGE>0</LANGUAGE>
  8222. <CATEGORY>0</CATEGORY>
  8223. </TEMPLATE>
  8224. <TEMPLATE>
  8225. <NAME>HtmlTriggerDetails</NAME>
  8226. <ID>250</ID>
  8227. <GUID>{B200E8CB-3255-11D4-8604-00C026D00180}</GUID>
  8228. <ENABLED>1</ENABLED>
  8229. <LEVEL>0</LEVEL>
  8230. <IDPARENT>0</IDPARENT>
  8231. <VALUE><![CDATA[<html>
  8232. <body bgcolor="#FFFFFF" vlink="#0000FF" alink="#0000FF">
  8233. <a name="#beforescript">
  8234. <b>Before script</b><br>
  8235. <pre>
  8236. %beforescript%
  8237. </pre>
  8238. <a name="#afterscript">
  8239. <b>After script</b><br>
  8240. <pre>
  8241. %afterscript%
  8242. </pre>
  8243. @fortable("","",template(HtmlTriggerDetail),"","")
  8244. @fortrigger("","",template(HtmlTriggerDetail2),"","")
  8245. </body>
  8246. </html>
  8247. ]]></VALUE>
  8248. <LANGUAGE>0</LANGUAGE>
  8249. <CATEGORY>0</CATEGORY>
  8250. </TEMPLATE>
  8251. <TEMPLATE>
  8252. <NAME>HtmlTriggerDetail</NAME>
  8253. <ID>251</ID>
  8254. <GUID>{B200E8CC-3255-11D4-8604-00C026D00180}</GUID>
  8255. <ENABLED>1</ENABLED>
  8256. <LEVEL>0</LEVEL>
  8257. <IDPARENT>0</IDPARENT>
  8258. <VALUE><![CDATA[{not Empty(UserTrigger)}
  8259. <a name="#trigtab%tablename%">
  8260. User trigger for table <b>%TableName%</b>
  8261. <pre>
  8262. %UserTrigger%
  8263. </pre>
  8264. ]]></VALUE>
  8265. <LANGUAGE>0</LANGUAGE>
  8266. <CATEGORY>0</CATEGORY>
  8267. </TEMPLATE>
  8268. <TEMPLATE>
  8269. <NAME>HtmlTriggerDetail2</NAME>
  8270. <ID>252</ID>
  8271. <GUID>{B200E8CD-3255-11D4-8604-00C026D00180}</GUID>
  8272. <ENABLED>1</ENABLED>
  8273. <LEVEL>0</LEVEL>
  8274. <IDPARENT>0</IDPARENT>
  8275. <VALUE><![CDATA[<a name="#trig%triggername%">
  8276. User trigger <b>%TriggerName%</b>
  8277. <pre>
  8278. %UserTrigger%
  8279. </pre>
  8280. ]]></VALUE>
  8281. <LANGUAGE>0</LANGUAGE>
  8282. <CATEGORY>0</CATEGORY>
  8283. </TEMPLATE>
  8284. <TEMPLATE>
  8285. <NAME>HtmlProcedureList</NAME>
  8286. <ID>253</ID>
  8287. <GUID>{B200E8CE-3255-11D4-8604-00C026D00180}</GUID>
  8288. <ENABLED>1</ENABLED>
  8289. <LEVEL>0</LEVEL>
  8290. <IDPARENT>0</IDPARENT>
  8291. <VALUE><![CDATA[<html>
  8292. <body bgcolor="#FFFFFF" vlink="#0000FF" alink="#0000FF">
  8293. <font size="2">
  8294. <p>
  8295. <ul>
  8296. @forprocedure("","","<li><a href=%c5%proceduredetail.htm##proc%ProcedureName%%c5% target=%c5%right%c5%>%ProcedureName%</a><br>","%cr%","")
  8297. </ul>
  8298. </p>
  8299. </body>
  8300. </html>
  8301. ]]></VALUE>
  8302. <LANGUAGE>0</LANGUAGE>
  8303. <CATEGORY>0</CATEGORY>
  8304. </TEMPLATE>
  8305. <TEMPLATE>
  8306. <NAME>HtmlViewList</NAME>
  8307. <ID>254</ID>
  8308. <GUID>{B200E8CF-3255-11D4-8604-00C026D00180}</GUID>
  8309. <ENABLED>1</ENABLED>
  8310. <LEVEL>0</LEVEL>
  8311. <IDPARENT>0</IDPARENT>
  8312. <VALUE><![CDATA[<html>
  8313. <body bgcolor="#FFFFFF" vlink="#0000FF" alink="#0000FF">
  8314. <font size="2">
  8315. <p>
  8316. <ul>
  8317. @ForView("","","<li><a href=%c5%viewdetail.htm##view%ViewName%%c5% target=%c5%right%c5%>%ViewName%</a><br>","%cr%","")
  8318. </ul>
  8319. </p>
  8320. </body>
  8321. </html>
  8322. ]]></VALUE>
  8323. <LANGUAGE>0</LANGUAGE>
  8324. <CATEGORY>0</CATEGORY>
  8325. </TEMPLATE>
  8326. <TEMPLATE>
  8327. <NAME>HtmlProcedureDetails</NAME>
  8328. <ID>255</ID>
  8329. <GUID>{B200E8D0-3255-11D4-8604-00C026D00180}</GUID>
  8330. <ENABLED>1</ENABLED>
  8331. <LEVEL>0</LEVEL>
  8332. <IDPARENT>0</IDPARENT>
  8333. <VALUE><![CDATA[<html>
  8334. <body bgcolor="#FFFFFF" vlink="#0000FF" alink="#0000FF">
  8335. @forprocedure("","",template(HtmlProcedureDetail),"","")
  8336. </body>
  8337. </html>
  8338. ]]></VALUE>
  8339. <LANGUAGE>0</LANGUAGE>
  8340. <CATEGORY>0</CATEGORY>
  8341. </TEMPLATE>
  8342. <TEMPLATE>
  8343. <NAME>HtmlViewDetails</NAME>
  8344. <ID>256</ID>
  8345. <GUID>{B200E8D1-3255-11D4-8604-00C026D00180}</GUID>
  8346. <ENABLED>1</ENABLED>
  8347. <LEVEL>0</LEVEL>
  8348. <IDPARENT>0</IDPARENT>
  8349. <VALUE><![CDATA[<html>
  8350. <body bgcolor="#FFFFFF" vlink="#0000FF" alink="#0000FF">
  8351. @forview("","",template(HtmlViewDetail),"","")
  8352. </body>
  8353. </html>
  8354. ]]></VALUE>
  8355. <LANGUAGE>0</LANGUAGE>
  8356. <CATEGORY>0</CATEGORY>
  8357. </TEMPLATE>
  8358. <TEMPLATE>
  8359. <NAME>HtmlProcedureDetail</NAME>
  8360. <ID>257</ID>
  8361. <GUID>{B200E8D2-3255-11D4-8604-00C026D00180}</GUID>
  8362. <ENABLED>1</ENABLED>
  8363. <LEVEL>0</LEVEL>
  8364. <IDPARENT>0</IDPARENT>
  8365. <VALUE><![CDATA[<a name="#proc%ProcedureName%">
  8366. Procedure <b>%ProcedureName%</b>
  8367. <pre>
  8368. %Procedure%
  8369. </pre>
  8370. ]]></VALUE>
  8371. <LANGUAGE>0</LANGUAGE>
  8372. <CATEGORY>0</CATEGORY>
  8373. </TEMPLATE>
  8374. <TEMPLATE>
  8375. <NAME>HtmlViewDetail</NAME>
  8376. <ID>258</ID>
  8377. <GUID>{B200E8D3-3255-11D4-8604-00C026D00180}</GUID>
  8378. <ENABLED>1</ENABLED>
  8379. <LEVEL>0</LEVEL>
  8380. <IDPARENT>0</IDPARENT>
  8381. <VALUE><![CDATA[<a name="#view%ViewName%">
  8382. View <b>%ViewName%</b>
  8383. <pre>
  8384. %View%
  8385. </pre>
  8386. ]]></VALUE>
  8387. <LANGUAGE>0</LANGUAGE>
  8388. <CATEGORY>0</CATEGORY>
  8389. </TEMPLATE>
  8390. <TEMPLATE>
  8391. <NAME>CreateDatabase</NAME>
  8392. <ID>259</ID>
  8393. <GUID>{B200E8D4-3255-11D4-8604-00C026D00180}</GUID>
  8394. <ENABLED>1</ENABLED>
  8395. <LEVEL>0</LEVEL>
  8396. <IDPARENT>0</IDPARENT>
  8397. <VALUE><![CDATA[/*
  8398. Created        %createddate%
  8399. Modified        %modifieddate%
  8400. Project        %projectname%
  8401. Model        %modelname%
  8402. Company        %company%
  8403. Author        %authorname%
  8404. Version        %version%
  8405. Database        %databasetype% 
  8406. */
  8407.  
  8408. {lbeforescript}
  8409. %beforescript%
  8410. {ldroptriggerGener}
  8411. @showmessage("Drop triggers")
  8412. @template(droptriggers)
  8413. {lDropTriggersListGener}
  8414. @template(DropTriggersList)
  8415. {lDropProceduresGener}
  8416. @template(DropProcedures)
  8417. {lDropViewsGener}
  8418. @template(DropViews)
  8419. {lDropIndexGener}
  8420. @template(DropIndexs)
  8421. {lDropTableGener}
  8422. @showmessage("Drop tables")
  8423. @template(DropRefIntegritys)
  8424. @template(droptables)
  8425. {lTableGener}
  8426. @showmessage("Create tables")
  8427. @template(createtables)
  8428. {lalterkeysgener}
  8429. @template(CreateAlterKeys)
  8430. {lIndexGener}
  8431. @showmessage("Create indexes")
  8432. @template(createindexs)
  8433. {lRefIntegGener}
  8434. @template(refintegritys)
  8435. {lProceduresGener}
  8436. @template(CreateProcedures)
  8437. {lViewsGener}
  8438. @template(CreateViews)
  8439. {lTriggersGener}
  8440. @template(createtriggers)
  8441. {lTriggersUserGener}
  8442. @template(CreateTriggersList)
  8443. {lRoleGener}
  8444. @showmessage("Role")
  8445. @template(CreateRole)
  8446. {lUserToRoleGener}
  8447. @ShowMessage("Users permissions to roles")
  8448. @template(GrantUserToRole)
  8449. {lRolePermissGener}
  8450. @ShowMessage("Roles permissions")
  8451. @template(CreateRolePermiss)
  8452. {lUserPermissGener}
  8453. @ShowMessage("Users permissions")
  8454. @template(CreateUserPermiss)
  8455. {lafterscript}
  8456. %afterscript%
  8457. {true}
  8458. @template(UserTempl)
  8459.  
  8460. ]]></VALUE>
  8461. <LANGUAGE>0</LANGUAGE>
  8462. <CATEGORY>0</CATEGORY>
  8463. </TEMPLATE>
  8464. <TEMPLATE>
  8465. <NAME>CreateTables</NAME>
  8466. <ID>260</ID>
  8467. <GUID>{B200E8D5-3255-11D4-8604-00C026D00180}</GUID>
  8468. <ENABLED>1</ENABLED>
  8469. <LEVEL>0</LEVEL>
  8470. <IDPARENT>0</IDPARENT>
  8471. <VALUE><![CDATA[@fortable("", "", macro(createtable), "", "" )
  8472. ]]></VALUE>
  8473. <LANGUAGE>0</LANGUAGE>
  8474. <CATEGORY>0</CATEGORY>
  8475. </TEMPLATE>
  8476. <TEMPLATE>
  8477. <NAME>CreateIndexs</NAME>
  8478. <ID>261</ID>
  8479. <GUID>{B200E8D6-3255-11D4-8604-00C026D00180}</GUID>
  8480. <ENABLED>1</ENABLED>
  8481. <LEVEL>0</LEVEL>
  8482. <IDPARENT>0</IDPARENT>
  8483. <VALUE><![CDATA[@fortable("","",forindex("", "", macro(createindex), "", "" ),"","")
  8484. ]]></VALUE>
  8485. <LANGUAGE>0</LANGUAGE>
  8486. <CATEGORY>0</CATEGORY>
  8487. </TEMPLATE>
  8488. <TEMPLATE>
  8489. <NAME>DropTriggers</NAME>
  8490. <ID>262</ID>
  8491. <GUID>{B200E8D7-3255-11D4-8604-00C026D00180}</GUID>
  8492. <ENABLED>1</ENABLED>
  8493. <LEVEL>0</LEVEL>
  8494. <IDPARENT>0</IDPARENT>
  8495. <VALUE><![CDATA[@fortable("", "", template(droptriggerupdate), "", "")
  8496. @fortable("", "", template(droptriggerdelete), "", "")
  8497. @fortable("", "", template(droptriggerinsert), "", "")
  8498. ]]></VALUE>
  8499. <LANGUAGE>0</LANGUAGE>
  8500. <CATEGORY>0</CATEGORY>
  8501. </TEMPLATE>
  8502. <TEMPLATE>
  8503. <NAME>CreateProcedures</NAME>
  8504. <ID>263</ID>
  8505. <GUID>{B200E8D8-3255-11D4-8604-00C026D00180}</GUID>
  8506. <ENABLED>1</ENABLED>
  8507. <LEVEL>0</LEVEL>
  8508. <IDPARENT>0</IDPARENT>
  8509. <VALUE><![CDATA[@ForProcedure("","",Procedure,"","")
  8510. ]]></VALUE>
  8511. <LANGUAGE>0</LANGUAGE>
  8512. <CATEGORY>0</CATEGORY>
  8513. </TEMPLATE>
  8514. <TEMPLATE>
  8515. <NAME>CreateViews</NAME>
  8516. <ID>264</ID>
  8517. <GUID>{B200E8D9-3255-11D4-8604-00C026D00180}</GUID>
  8518. <ENABLED>1</ENABLED>
  8519. <LEVEL>0</LEVEL>
  8520. <IDPARENT>0</IDPARENT>
  8521. <VALUE><![CDATA[@ForView("","",View,"","")
  8522. ]]></VALUE>
  8523. <LANGUAGE>0</LANGUAGE>
  8524. <CATEGORY>0</CATEGORY>
  8525. </TEMPLATE>
  8526. <TEMPLATE>
  8527. <NAME>CreateTriggersList</NAME>
  8528. <ID>265</ID>
  8529. <GUID>{B200E8DA-3255-11D4-8604-00C026D00180}</GUID>
  8530. <ENABLED>1</ENABLED>
  8531. <LEVEL>0</LEVEL>
  8532. <IDPARENT>0</IDPARENT>
  8533. <VALUE><![CDATA[@ForTrigger("","",Trigger,"","")
  8534. @fortable("", "", usertrigger, "", "" )
  8535. ]]></VALUE>
  8536. <LANGUAGE>0</LANGUAGE>
  8537. <CATEGORY>0</CATEGORY>
  8538. </TEMPLATE>
  8539. <TEMPLATE>
  8540. <NAME>DropRefIntegritys</NAME>
  8541. <ID>266</ID>
  8542. <GUID>{B200E8DB-3255-11D4-8604-00C026D00180}</GUID>
  8543. <ENABLED>1</ENABLED>
  8544. <LEVEL>0</LEVEL>
  8545. <IDPARENT>0</IDPARENT>
  8546. <VALUE><![CDATA[{lFkAsConstraint}
  8547. @fortable("", "", forchild("", "", template(DropRefIntegrity), "", "" ), "", "" )
  8548. ]]></VALUE>
  8549. <LANGUAGE>0</LANGUAGE>
  8550. <CATEGORY>0</CATEGORY>
  8551. </TEMPLATE>
  8552. <TEMPLATE>
  8553. <NAME>CreateAlterKeys</NAME>
  8554. <ID>267</ID>
  8555. <GUID>{B200E8DC-3255-11D4-8604-00C026D00180}</GUID>
  8556. <ENABLED>1</ENABLED>
  8557. <LEVEL>0</LEVEL>
  8558. <IDPARENT>0</IDPARENT>
  8559. <VALUE><![CDATA[@showmessage("Alter keys")
  8560. @fortable("","",template(CreateAlterKey),"","")
  8561. ]]></VALUE>
  8562. <LANGUAGE>0</LANGUAGE>
  8563. <CATEGORY>0</CATEGORY>
  8564. </TEMPLATE>
  8565. <TEMPLATE>
  8566. <NAME>RefIntegritys</NAME>
  8567. <ID>268</ID>
  8568. <GUID>{B200E8DD-3255-11D4-8604-00C026D00180}</GUID>
  8569. <ENABLED>1</ENABLED>
  8570. <LEVEL>0</LEVEL>
  8571. <IDPARENT>0</IDPARENT>
  8572. <VALUE><![CDATA[@fortable("", "", forchild("", "", template(refintegrity), "", "" ), "", "" )
  8573. ]]></VALUE>
  8574. <LANGUAGE>0</LANGUAGE>
  8575. <CATEGORY>0</CATEGORY>
  8576. </TEMPLATE>
  8577. <TEMPLATE>
  8578. <NAME>CreateTriggers</NAME>
  8579. <ID>269</ID>
  8580. <GUID>{B200E8DE-3255-11D4-8604-00C026D00180}</GUID>
  8581. <ENABLED>1</ENABLED>
  8582. <LEVEL>0</LEVEL>
  8583. <IDPARENT>0</IDPARENT>
  8584. <VALUE><![CDATA[@fortable("", "", template(createtriggerupdate), "", "")
  8585. @fortable("", "", template(createtriggerdelete), "", "")
  8586. @fortable("", "", template(createtriggerinsert), "", "")
  8587. ]]></VALUE>
  8588. <LANGUAGE>0</LANGUAGE>
  8589. <CATEGORY>0</CATEGORY>
  8590. </TEMPLATE>
  8591. <TEMPLATE>
  8592. <NAME>HtmlTables</NAME>
  8593. <ID>270</ID>
  8594. <GUID>{B200E8DF-3255-11D4-8604-00C026D00180}</GUID>
  8595. <ENABLED>1</ENABLED>
  8596. <LEVEL>0</LEVEL>
  8597. <IDPARENT>0</IDPARENT>
  8598. <VALUE><![CDATA[<HTML>
  8599. <HEAD>
  8600. <TITLE>CASE Studio Report</TITLE>
  8601. </HEAD>
  8602.  
  8603. <frameset cols = "200,*" BORDER="0" FRAMEBORDER="no" FRAMESPACING="0">
  8604.  <frame name = "left" marginheignt="0" marginwidth="0" SRC="tablelist.htm" NORESIZE >
  8605.  <frame name = "right" SRC = "tabledetail.htm" NORESIZE>
  8606. </frameset>
  8607. </HTML>
  8608. ]]></VALUE>
  8609. <LANGUAGE>0</LANGUAGE>
  8610. <CATEGORY>0</CATEGORY>
  8611. </TEMPLATE>
  8612. <TEMPLATE>
  8613. <NAME>HtmlModelInfo</NAME>
  8614. <ID>271</ID>
  8615. <GUID>{B200E8E0-3255-11D4-8604-00C026D00180}</GUID>
  8616. <ENABLED>1</ENABLED>
  8617. <LEVEL>0</LEVEL>
  8618. <IDPARENT>0</IDPARENT>
  8619. <VALUE><![CDATA[<html>
  8620.  
  8621. <head>
  8622. </head>
  8623.  
  8624. <body bgcolor="#FFFFFF">
  8625. <div align="center"><center>
  8626.  
  8627. <table border="1" cellpadding="0" cellspacing="0">
  8628.     <tr>
  8629.         <th align="left" colspan="2" nowrap><p align="center"><font
  8630.         color="#0000FF" size="3"> Model info </font></p>
  8631.         </th>
  8632.     </tr>
  8633.     <tr>
  8634.         <td><font size="3">Project</font></td>
  8635.         <td> %ProjectName%</td>
  8636.     </tr>
  8637.     <tr>
  8638.         <td><font size="3">Model</font></td>
  8639.         <td> %ModelName%</td>
  8640.     </tr>
  8641.     <tr>
  8642.         <td><font size="3">Author</font></td>
  8643.         <td> %Authorname%</td>
  8644.     </tr>
  8645.     <tr>
  8646.         <td><font size="3">Company</font></td>
  8647.         <td> %Company%</td>
  8648.     </tr>
  8649.     <tr>
  8650.         <td><font size="3">Version</font></td>
  8651.         <td> %Version%</td>
  8652.     </tr>
  8653.     <tr>
  8654.         <td><font size="3">Created</font></td>
  8655.         <td> %CreatedDate%</td>
  8656.     </tr>
  8657.     <tr>
  8658.         <td><font size="3">Modified</font></td>
  8659.         <td> %ModifiedDate%</td>
  8660.     </tr>
  8661.     <tr>
  8662.         <td><font size="3">Database</font></td>
  8663.         <td> %DatabaseType%</td>
  8664.     </tr>
  8665.  
  8666.  
  8667.  
  8668.  
  8669.  
  8670. </table>
  8671. </center></div>
  8672. </body>
  8673. </html>
  8674. ]]></VALUE>
  8675. <LANGUAGE>0</LANGUAGE>
  8676. <CATEGORY>0</CATEGORY>
  8677. </TEMPLATE>
  8678. <TEMPLATE>
  8679. <NAME>HtmlTableDetails</NAME>
  8680. <ID>272</ID>
  8681. <GUID>{B200E8E1-3255-11D4-8604-00C026D00180}</GUID>
  8682. <ENABLED>1</ENABLED>
  8683. <LEVEL>0</LEVEL>
  8684. <IDPARENT>0</IDPARENT>
  8685. <VALUE><![CDATA[<html>
  8686. <head>
  8687. </head>
  8688. <body bgcolor="#FFFFFF" vlink="#0000FF" alink="#0000FF">
  8689. @fortable("", "", Template(HtmlTableDetail), "", "")
  8690. </body>
  8691. </html>
  8692. ]]></VALUE>
  8693. <LANGUAGE>0</LANGUAGE>
  8694. <CATEGORY>0</CATEGORY>
  8695. </TEMPLATE>
  8696. <TEMPLATE>
  8697. <NAME>HtmlColumns</NAME>
  8698. <ID>273</ID>
  8699. <GUID>{B200E8E2-3255-11D4-8604-00C026D00180}</GUID>
  8700. <ENABLED>1</ENABLED>
  8701. <LEVEL>0</LEVEL>
  8702. <IDPARENT>0</IDPARENT>
  8703. <VALUE><![CDATA[<HTML>
  8704. <HEAD>
  8705. <TITLE>CASE Studio Report</TITLE>
  8706. </HEAD>
  8707.  
  8708. <frameset cols = "200,*" BORDER="0" FRAMEBORDER="no" FRAMESPACING="0">
  8709.  <frame name = "left" marginheignt="0" marginwidth="0" SRC="ColumnList.htm" NORESIZE >
  8710.  <frame name = "right" SRC = "ColumnDetail.htm" NORESIZE>
  8711. </frameset>
  8712. </HTML>
  8713. ]]></VALUE>
  8714. <LANGUAGE>0</LANGUAGE>
  8715. <CATEGORY>0</CATEGORY>
  8716. </TEMPLATE>
  8717. <TEMPLATE>
  8718. <NAME>HtmlTriggers</NAME>
  8719. <ID>274</ID>
  8720. <GUID>{B200E8E3-3255-11D4-8604-00C026D00180}</GUID>
  8721. <ENABLED>1</ENABLED>
  8722. <LEVEL>0</LEVEL>
  8723. <IDPARENT>0</IDPARENT>
  8724. <VALUE><![CDATA[<HTML>
  8725. <HEAD>
  8726. <TITLE>CASE Studio Report</TITLE>
  8727. </HEAD>
  8728.  
  8729. <frameset cols = "200,*" BORDER="0" FRAMEBORDER="no" FRAMESPACING="0">
  8730.  <frame name = "left" marginheignt="0" marginwidth="0" SRC="triggerlist.htm" NORESIZE >
  8731.  <frame name = "right" SRC = "triggerdetail.htm" NORESIZE>
  8732. </frameset>
  8733. </HTML>
  8734. ]]></VALUE>
  8735. <LANGUAGE>0</LANGUAGE>
  8736. <CATEGORY>0</CATEGORY>
  8737. </TEMPLATE>
  8738. <TEMPLATE>
  8739. <NAME>HtmlProcedures</NAME>
  8740. <ID>275</ID>
  8741. <GUID>{B200E8E4-3255-11D4-8604-00C026D00180}</GUID>
  8742. <ENABLED>1</ENABLED>
  8743. <LEVEL>0</LEVEL>
  8744. <IDPARENT>0</IDPARENT>
  8745. <VALUE><![CDATA[<HTML>
  8746. <HEAD>
  8747. <TITLE>CASE Studio Report</TITLE>
  8748. </HEAD>
  8749.  
  8750. <frameset cols = "200,*" BORDER="0" FRAMEBORDER="no" FRAMESPACING="0">
  8751.  <frame name = "left" marginheignt="0" marginwidth="0" SRC="procedurelist.htm" NORESIZE >
  8752.  <frame name = "right" SRC = "proceduredetail.htm" NORESIZE>
  8753. </frameset>
  8754. </HTML>
  8755. ]]></VALUE>
  8756. <LANGUAGE>0</LANGUAGE>
  8757. <CATEGORY>0</CATEGORY>
  8758. </TEMPLATE>
  8759. <TEMPLATE>
  8760. <NAME>HtmlViews</NAME>
  8761. <ID>276</ID>
  8762. <GUID>{B200E8E5-3255-11D4-8604-00C026D00180}</GUID>
  8763. <ENABLED>1</ENABLED>
  8764. <LEVEL>0</LEVEL>
  8765. <IDPARENT>0</IDPARENT>
  8766. <VALUE><![CDATA[<HTML>
  8767. <HEAD>
  8768. <TITLE>CASE Studio Report</TITLE>
  8769. </HEAD>
  8770.  
  8771. <frameset cols = "200,*" BORDER="0" FRAMEBORDER="no" FRAMESPACING="0">
  8772.  <frame name = "left" marginheignt="0" marginwidth="0" SRC="viewlist.htm" NORESIZE >
  8773.  <frame name = "right" SRC = "viewdetail.htm" NORESIZE>
  8774. </frameset>
  8775. </HTML>
  8776. ]]></VALUE>
  8777. <LANGUAGE>0</LANGUAGE>
  8778. <CATEGORY>0</CATEGORY>
  8779. </TEMPLATE>
  8780. <TEMPLATE>
  8781. <NAME>HtmlDicts</NAME>
  8782. <ID>277</ID>
  8783. <GUID>{B200E8E6-3255-11D4-8604-00C026D00180}</GUID>
  8784. <ENABLED>1</ENABLED>
  8785. <LEVEL>0</LEVEL>
  8786. <IDPARENT>0</IDPARENT>
  8787. <VALUE><![CDATA[<HTML>
  8788. <HEAD>
  8789. <TITLE>CASE Studio Report</TITLE>
  8790. </HEAD>
  8791.  
  8792. <frameset cols = "200,*" BORDER="0" FRAMEBORDER="no" FRAMESPACING="0">
  8793.  <frame name = "left" marginheignt="0" marginwidth="0" SRC="dictlist.htm" NORESIZE >
  8794.  <frame name = "right" SRC = "dictdetail.htm" NORESIZE>
  8795. </frameset>
  8796. </HTML>
  8797. ]]></VALUE>
  8798. <LANGUAGE>0</LANGUAGE>
  8799. <CATEGORY>0</CATEGORY>
  8800. </TEMPLATE>
  8801. <TEMPLATE>
  8802. <NAME>UserTempl</NAME>
  8803. <ID>278</ID>
  8804. <GUID>{B200E8E7-3255-11D4-8604-00C026D00180}</GUID>
  8805. <ENABLED>1</ENABLED>
  8806. <LEVEL>0</LEVEL>
  8807. <IDPARENT>0</IDPARENT>
  8808. <VALUE><![CDATA[]]></VALUE>
  8809. <LANGUAGE>0</LANGUAGE>
  8810. <CATEGORY>0</CATEGORY>
  8811. </TEMPLATE>
  8812. <TEMPLATE>
  8813. <NAME>CreateRole</NAME>
  8814. <ID>279</ID>
  8815. <GUID>{B200E8E8-3255-11D4-8604-00C026D00180}</GUID>
  8816. <ENABLED>1</ENABLED>
  8817. <LEVEL>0</LEVEL>
  8818. <IDPARENT>0</IDPARENT>
  8819. <VALUE><![CDATA[@ForRole("","",if(lRole,"create role %RoleName%;%cr%",""),"","")
  8820. ]]></VALUE>
  8821. <LANGUAGE>0</LANGUAGE>
  8822. <CATEGORY>0</CATEGORY>
  8823. </TEMPLATE>
  8824. <TEMPLATE>
  8825. <NAME>GrantUserToRole</NAME>
  8826. <ID>280</ID>
  8827. <GUID>{B200E8E9-3255-11D4-8604-00C026D00180}</GUID>
  8828. <ENABLED>1</ENABLED>
  8829. <LEVEL>0</LEVEL>
  8830. <IDPARENT>0</IDPARENT>
  8831. <VALUE><![CDATA[@ForRole("","",ForUser("","",UserRoleUser("grant %rolename% to %username%;%cr%"),"",""),"","")
  8832. ]]></VALUE>
  8833. <LANGUAGE>0</LANGUAGE>
  8834. <CATEGORY>0</CATEGORY>
  8835. </TEMPLATE>
  8836. <TEMPLATE>
  8837. <NAME>CreateRolePermiss</NAME>
  8838. <ID>281</ID>
  8839. <GUID>{B200E8EA-3255-11D4-8604-00C026D00180}</GUID>
  8840. <ENABLED>1</ENABLED>
  8841. <LEVEL>0</LEVEL>
  8842. <IDPARENT>0</IDPARENT>
  8843. <VALUE><![CDATA[/* Roles permissions */
  8844. @ForTable("","",ForRole("","",PermissTableRole(Macro(CreateTablePermiss)),"",""),"","")
  8845. @ForView("","",ForRole("","",PermissViewRole(Macro(CreateViewPermiss)),"",""),"","")
  8846. @ForProcedure("","",ForRole("","",PermissProcedureRole(Macro(CreateProcedurePermiss)),"",""),"","")
  8847. ]]></VALUE>
  8848. <LANGUAGE>0</LANGUAGE>
  8849. <CATEGORY>0</CATEGORY>
  8850. </TEMPLATE>
  8851. <TEMPLATE>
  8852. <NAME>CreateTablePermiss</NAME>
  8853. <ID>282</ID>
  8854. <GUID>{B200E8EB-3255-11D4-8604-00C026D00180}</GUID>
  8855. <ENABLED>1</ENABLED>
  8856. <LEVEL>0</LEVEL>
  8857. <IDPARENT>0</IDPARENT>
  8858. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %TableName% to %UserOrRoleName%;%cr%","")+
  8859. if(lPermissUpdate,"Grant update on %TableName% to %UserOrRoleName%;%cr%","")+
  8860. if(lPermissDelete,"Grant delete on %TableName% to %UserOrRoleName%;%cr%","")+
  8861. if(lPermissInsert,"Grant insert on %TableName% to %UserOrRoleName%;%cr%","")+
  8862. if(lPermissDRI,"Grant references on %TableName% to %UserOrRoleName%;%cr%","")
  8863. ]]></VALUE>
  8864. <LANGUAGE>0</LANGUAGE>
  8865. <CATEGORY>0</CATEGORY>
  8866. </TEMPLATE>
  8867. <TEMPLATE>
  8868. <NAME>CreateViewPermiss</NAME>
  8869. <ID>283</ID>
  8870. <GUID>{B200E8EC-3255-11D4-8604-00C026D00180}</GUID>
  8871. <ENABLED>1</ENABLED>
  8872. <LEVEL>0</LEVEL>
  8873. <IDPARENT>0</IDPARENT>
  8874. <VALUE><![CDATA[if(lPermissSelect,"Grant select on %ViewName% to %UserOrRoleName%;%cr%","")+
  8875. if(lPermissUpdate,"Grant update on %ViewName% to %UserOrRoleName%;%cr%","")+
  8876. if(lPermissDelete,"Grant delete on %ViewName% to %UserOrRoleName%;%cr%","")+
  8877. if(lPermissInsert,"Grant insert on %ViewName% to %UserOrRoleName%;%cr%","")
  8878. ]]></VALUE>
  8879. <LANGUAGE>0</LANGUAGE>
  8880. <CATEGORY>0</CATEGORY>
  8881. </TEMPLATE>
  8882. <TEMPLATE>
  8883. <NAME>CreateProcedurePermiss</NAME>
  8884. <ID>284</ID>
  8885. <GUID>{B200E8ED-3255-11D4-8604-00C026D00180}</GUID>
  8886. <ENABLED>1</ENABLED>
  8887. <LEVEL>0</LEVEL>
  8888. <IDPARENT>0</IDPARENT>
  8889. <VALUE><![CDATA[if(lPermissExec,"Grant execute on %ProcedureName% to %UserOrRoleName%;%cr%","")
  8890. ]]></VALUE>
  8891. <LANGUAGE>0</LANGUAGE>
  8892. <CATEGORY>0</CATEGORY>
  8893. </TEMPLATE>
  8894. <TEMPLATE>
  8895. <NAME>CreateUserPermiss</NAME>
  8896. <ID>285</ID>
  8897. <GUID>{B200E8EE-3255-11D4-8604-00C026D00180}</GUID>
  8898. <ENABLED>1</ENABLED>
  8899. <LEVEL>0</LEVEL>
  8900. <IDPARENT>0</IDPARENT>
  8901. <VALUE><![CDATA[/* Users permissions */
  8902. @ForTable("","",ForUser("","",PermissTableUser(Macro(CreateTablePermiss)),"",""),"","")
  8903. @ForView("","",ForUser("","",PermissViewUser(Macro(CreateViewPermiss)),"",""),"","")
  8904. @ForProcedure("","",ForUser("","",PermissProcedureUser(Macro(CreateProcedurePermiss)),"",""),"","")
  8905. ]]></VALUE>
  8906. <LANGUAGE>0</LANGUAGE>
  8907. <CATEGORY>0</CATEGORY>
  8908. </TEMPLATE>
  8909. <TEMPLATE>
  8910. <NAME>DropProcedures</NAME>
  8911. <ID>286</ID>
  8912. <GUID>{B200E8EF-3255-11D4-8604-00C026D00180}</GUID>
  8913. <ENABLED>1</ENABLED>
  8914. <LEVEL>0</LEVEL>
  8915. <IDPARENT>0</IDPARENT>
  8916. <VALUE><![CDATA[@ForProcedureR("","","drop procedure %ProcedureName%;%cr%","","")
  8917. ]]></VALUE>
  8918. <LANGUAGE>0</LANGUAGE>
  8919. <CATEGORY>0</CATEGORY>
  8920. </TEMPLATE>
  8921. <TEMPLATE>
  8922. <NAME>DropViews</NAME>
  8923. <ID>287</ID>
  8924. <GUID>{B200E8F0-3255-11D4-8604-00C026D00180}</GUID>
  8925. <ENABLED>1</ENABLED>
  8926. <LEVEL>0</LEVEL>
  8927. <IDPARENT>0</IDPARENT>
  8928. <VALUE><![CDATA[@ForViewR("","","drop view %ViewName%;%cr%","","")
  8929. ]]></VALUE>
  8930. <LANGUAGE>0</LANGUAGE>
  8931. <CATEGORY>0</CATEGORY>
  8932. </TEMPLATE>
  8933. <TEMPLATE>
  8934. <NAME>DropTriggersList</NAME>
  8935. <ID>288</ID>
  8936. <GUID>{B200E8F1-3255-11D4-8604-00C026D00180}</GUID>
  8937. <ENABLED>1</ENABLED>
  8938. <LEVEL>0</LEVEL>
  8939. <IDPARENT>0</IDPARENT>
  8940. <VALUE><![CDATA[@ForTriggerR("","","drop trigger %TriggerName%;%cr%","","")
  8941. ]]></VALUE>
  8942. <LANGUAGE>0</LANGUAGE>
  8943. <CATEGORY>0</CATEGORY>
  8944. </TEMPLATE>
  8945. </TEMPLATES>
  8946. </SYSTEM>
  8947. </SERVERS>
  8948.