缺省SQL Generation的快速帮助

原创 2012年03月21日 10:14:16

缺省SQLGeneration的快速帮助

EDT 0.7.0版本为基于EGL的行为语句产生缺省的SQL语句提供了快速帮助:

  • ADD 语句

  • DELETE语句

  • GET语句

  • OPEN语句

  • REPLACE语句

下面用样例来说明如何在EDT中使用这种功能:


EGL 记录定义

recordProduct{@Table {name="Product"}}
    	id bigint{@Id};
	name string;
	price float;
end


上面定义了一个基本记录类型,必须使用注释@Id来指定记录的那个字段映射为表的主键,使用注释@Table来说明这个记录映射为那个表,就像上面的定义那样,不过@Table的使用是可选的。

record OrderItem type Entity{@table{name = "OrderItem"}}
        ITEM_ID int{@Id};
        NAME string{ @Column { insertable=true } };
        IMAGE string?{ @Column { updateable=true } };
        PRICE decimal(7, 2)?;
        DESCRIPTION string?;
end

上面是对应一个表的 entity 记录定义。


EGL变量定义

   basicRec Product;
   itemEntity OrderItem;
   rs SQLResultSet?; 
   ds SQLDataSource? = new      SQLDataSource("jdbc:derby:C:/databases/EGLDerbyR7;create=true");  

ADD语句

    在EGL语句的任何地方点击并按Ctrl+1,选择“AddSQL Statement建议,缺省的SQL语句将添加到已有的EGL语句中:


add basicRec to ds; //for basic record
变成:

add basicRec to ds with
			#sql{
				insert into Product
					(id, name, price)
				values
					(?, ?, ?)
			};

add itemEntity to ds; //for entity record
变成:

add itemEntity to ds with
			#sql{
				insert into OrderItem
					(ITEM_ID, Name, IMAGE, price, description)
				values
					(?, ?, ?, ?, ?)
			};


DELETE语句

delete basicRec from ds; // for basic record
变成:
delete basicRec from ds with
			#sql{
				delete from Product
				where
				    id = ?
			};

delete itemEntity from ds; //for entity record
变成:
delete itemEntity from ds with
			#sql{
				delete from OrderItem
				where
					ITEM_ID = ?
			};

GET语句

GET basicRec from ds; //for basic record
变成:
 GET basicRec from ds using basicRec.id with
			#sql{
				select
					id, rtrim(name), price
				from  Product
				where
					id = ?
			};

GET itemEntity from ds; //for entity record
变成:
GET itemEntity from ds using itemEntity.ITEM_ID  with
		#sql{
		   select
			ITEM_ID, rtrim(Name), rtrim(IMAGE), price, rtrim(description)
		   from OrderItem
		   where
			ITEM_ID = ?
		};


OPEN语句

rows OrderItem; open rs from ds for rows; 
变成:
open rs from ds using rows.ITEM_ID  with
			#sql{
				select
					ITEM_ID, rtrim(Name), rtrim(IMAGE), price, 
					rtrim(description)
				from OrderItem
				where
					ITEM_ID =  ?
			};

REPLACE语句

replace itemEntity to ds ;
变成:
replace itemEntity to ds with
			#sql{
				update OrderItem
				set
					Name = ?,
					IMAGE = ?,
					price = ?,
					description = ?
				where
					ITEM_ID = ?
			} ;











PowerDesigner15在生成SQL时报错Generation aborted due to errors detected during the verification of the mod

1.用PowerDesigner15建模,在Database—>Generate Database (或者用Ctrl+G快捷键)来生产sql语句,却提示“Generation aborted due ...
  • SkunkLuck
  • SkunkLuck
  • 2015年11月30日 23:05
  • 3050

Log4J使用快速入门

基本概念 Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息...
  • T_27080901
  • T_27080901
  • 2014年11月20日 22:08
  • 707

PowerDesigner15在生成SQL时报错Generation aborted due to errors detected during the verification of the mo

生成SQL时报错:Generation aborted due to errors detected during the verification of the model。解决办法...
  • Irvingmox
  • Irvingmox
  • 2017年01月05日 23:49
  • 818

SQLPLUS中HELP帮助的安装与删除

手工建库后SQLPLUS中HELP默认是没有的,下面记录下如何安装及删除SQLPLUS中的HELP命令。 注意:SQLPLUS的HELP命令只有在数据库OPEN时才能使用。非OPEN状态使用HELP也...
  • q947817003
  • q947817003
  • 2013年11月18日 11:51
  • 1923

IntelliJ IDEA的帮助和快捷键

IntelliJ IDEA的帮助和快捷键刚刚接触IDEA的Java开发人员,可能会被IDEA的大量设置和另类做法搞得迷昏头脑,不得不承认IDEA的设置确实比较复杂,有些操作完全不符合常规,但这一切的目...
  • mt530
  • mt530
  • 2005年01月10日 17:47
  • 3889

SQL Anywhere 资料

SQL Anywhere 12版本安装后,文档没有安装,需要去另外下载一下。官方网站上的SQL Anywhere 12.0.1的中文手册中文 (Simplified Chinese)可安装在本地计算机...
  • berryreload
  • berryreload
  • 2013年10月22日 08:02
  • 2622

如何删除属性页和属性表单中的帮助按钮

在默认情况下,属性页对话框默认的样式可能会包含“帮助”个按钮,如果不需要这个“帮助”按钮我们可以通过修改CPropertySheet类的m_psh成员函数中的dwFlags值,同时修改CPropert...
  • xiao3404
  • xiao3404
  • 2016年11月06日 18:34
  • 734

缺省的servlet

原文链接:http://blog.csdn.net/hero5460/article/details/47352 1. 在tomcat安装目录中:conf下的web.xml中有这样一个代码...
  • liliiii
  • liliiii
  • 2015年04月25日 13:56
  • 1160

快速复制数据库表中的数据SQL

---通过复制tbl_int_dual2表中的数据产生tbl_int_dual1表中2015-11-11上午8点的小时类统一接口统计数据.insert into tbl_int_dual1 (fi...
  • lmb55
  • lmb55
  • 2015年11月30日 20:53
  • 729

VS和SQL Server帮助文档无法显示网页的解决方案

VS和SQL Server帮助文档无法显示网页的解决方案
  • jerryjbiao
  • jerryjbiao
  • 2010年06月05日 10:04
  • 2226
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:缺省SQL Generation的快速帮助
举报原因:
原因补充:

(最多只允许输入30个字)