Menu

[r3128]: / trunk / ch.sahits.codegen / jet_templates / selectSQL.sqljet  Maximize  Restore  History

Download this file

84 lines (84 with data), 3.0 kB

<%@ jet imports="java.util.* ch.sahits.model.* ch.sahits.model.db.* " package="ch.sahits.codegen.sql" class="SQLScriptGenerator" %>
-- create SQL scripts based on the model
<% BasicDataBaseTable dbt = (BasicDataBaseTable) argument; 
   DataBaseTableIndex primaryIndex = dbt.findPrimaryIndex();
if (primaryIndex!=null){
%>
-- load by primary key
<%
{
%>
select <%
List fields = dbt.getFields();
for (Iterator iterator = fields.iterator(); iterator.hasNext();) {
	DataBaseTableField f = (DataBaseTableField) iterator.next();
%><%=f.getFieldName() %><% if (iterator.hasNext()) %>, <%
}%> from <%=dbt.getTableName() %> where  <%
List indexFields = primaryIndex.getFields();
for (int i=0;i<indexFields.size();i++){
	DataBaseTableField f = (DataBaseTableField)indexFields.get(i);
	%><%=f.getFieldName() %>=<% if (f.isAlphaNumeric()){ %>'<% } %>?<%=f.getFieldName() %><% if (f.isAlphaNumeric()){ %>'<% } %><% if (i<indexFields.size()-1) %> and <%
}
}
}
%>
-- load all
<%
{
%>
select * from <%= dbt.getTableName()%><%
List fields2 = dbt.getFields();
for (Iterator iterator = fields2.iterator(); iterator.hasNext();) {
	DataBaseTableField f = (DataBaseTableField) iterator.next();
%><%=f.getFieldName() %><% if (iterator.hasNext()) %>, <%
}%> from <%=dbt.getTableName() %><%
}
%>
-- load by foregin key
<%
{
List uniques = dbt.forginKeys();
for (Iterator iterator = uniques.iterator(); iterator.hasNext();) {
%>
select * from <%=dbt.getTableName() %> where <%
	DataBaseTableIndex index = (DataBaseTableIndex) iterator.next();
	List indexFields = index.getFields();
	for (int i=0;i<indexFields.size();i++){
	DataBaseTableField f = (DataBaseTableField)indexFields.get(i);
		%><%=f.getFieldName() %>=<% if (f.isAlphaNumeric()){ %>'<% } %>?<%=f.getFieldName() %><% if (f.isAlphaNumeric()){ %>'<% } %><% if (i<indexFields.size()-1) %> and <%
	}
}
}
%>
-- load by unique index
<%
{
List uniques = dbt.uniqueKeys();
for (Iterator iterator = uniques.iterator(); iterator.hasNext();) {
%>
select * from <%=dbt.getTableName() %> where <%
	DataBaseTableIndex index = (DataBaseTableIndex) iterator.next();
	List indexFields = index.getFields();
	for (int i=0;i<indexFields.size();i++){
	DataBaseTableField f = (DataBaseTableField)indexFields.get(i);
		%><%=f.getFieldName() %>=<% if (f.isAlphaNumeric()){ %>'<% } %>?<%=f.getFieldName() %><% if (f.isAlphaNumeric()){ %>'<% } %><% if (i<indexFields.size()-1) %> and <%
	}
}
}
%>
-- load by index
<%
{
List uniques = dbt.otherKeys();
for (Iterator iterator = uniques.iterator(); iterator.hasNext();) {
%>
select * from <%=dbt.getTableName() %> where <%
	DataBaseTableIndex index = (DataBaseTableIndex) iterator.next();
	List indexFields = index.getFields();
	for (int i=0;i<indexFields.size();i++){
	DataBaseTableField f = (DataBaseTableField)indexFields.get(i);
		%><%=f.getFieldName() %>=<% if (f.isAlphaNumeric()){ %>'<% } %>?<%=f.getFieldName() %><% if (f.isAlphaNumeric()){ %>'<% } %><% if (i<indexFields.size()-1) %> and <%
	}
}
}
%>
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.