Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EDT:Default SQL Generation"

Line 14: Line 14:
 
  ''    record Product{@Table {name="Product"}}''
 
  ''    record Product{@Table {name="Product"}}''
 
  ''      id bigint{@Id};''
 
  ''      id bigint{@Id};''
    name string;
+
    name string;
    price float;
+
    price float;
  end
+
end
 
   
 
   
 
   
 
   
Line 24: Line 24:
 
   
 
   
 
  record OrderItem type '''Entity'''{@table{name = "OrderItem"}}
 
  record OrderItem type '''Entity'''{@table{name = "OrderItem"}}
  ITEM_ID int{@Id};
+
  ITEM_ID int{@Id};
  NAME string{ @Column { insertable=true } };
+
  NAME string{ @Column { insertable=true } };
  IMAGE string?{ @Column { updateable=true } };
+
  IMAGE string?{ @Column { updateable=true } };
  PRICE decimal(7, 2)?;
+
  PRICE decimal(7, 2)?;
  DESCRIPTION string?;
+
  DESCRIPTION string?;
 
  end
 
  end
 
   
 
   
Line 36: Line 36:
 
   
 
   
 
  '''EGL Variable Definition'''
 
  '''EGL Variable Definition'''
  basicRec Product;    
+
  basicRec Product;    
  itemEntity OrderItem;
+
  itemEntity OrderItem;
  rs SQLResultSet?;
+
  rs SQLResultSet?;
  ds SQLDataSource? = new SQLDataSource("jdbc:derby:C:/databases/EGLDerbyR7;create=true");    
+
  ds SQLDataSource? = new SQLDataSource("jdbc:derby:C:/databases/EGLDerbyR7;create=true");    
 
   
 
   
 
   
 
   
 
  '''ADD Statement'''
 
  '''ADD Statement'''
 
   
 
   
  '''Click anywhere in the EGL statement and press CTRL+1, and press “Add SQL Statement” proposal, '''
+
  '''Click anywhere in the EGL statement and press CTRL+1, and press “Add SQL Statement” proposal, '''
 
  default SQL statement will be added to the above statement:  
 
  default SQL statement will be added to the above statement:  
      (1) add basicRec to ds; //for basic record  
+
      (1) add basicRec to ds; //for basic record  
 
   
 
   
 
  Change To:  
 
  Change To:  
      add basicRec to ds with  
+
      add basicRec to ds with  
          #sql{ insert into Product (id, name, price) values (?, ?, ?)};  
+
          #sql{ insert into Product (id, name, price) values (?, ?, ?)};  
 
   
 
   
      (2) add itemEntity to ds; //for entity record
+
      (2) add itemEntity to ds; //for entity record
 
   
 
   
 
  Change To:
 
  Change To:
        add itemEntity to ds with
+
      add itemEntity to ds with
 
  #sql{
 
  #sql{
 
  insert into OrderItem
 
  insert into OrderItem
 
  (ITEM_ID, Name, IMAGE, price, description)
 
  (ITEM_ID, Name, IMAGE, price, description)
 
  values
 
  values
  (?, ?, ?, ?, ?)
+
  (?, ?, ?, ?, ?)
 +
};
 +
 +
'''DELETE Statement'''
 +
    (3) delete basicRec from ds; // for basic record
 +
 +
Change To:
 +
      delete basicRec from ds with
 +
#sql{
 +
delete from Product
 +
where id = ?
 
  };
 
  };
 +
   
 
   
 
   
  
**GET Statement
 
 
*OPEN Statement  
 
*OPEN Statement  
 
*REPLACE Statement
 
*REPLACE Statement

Revision as of 03:41, 22 December 2011

         Quick Assist Support for Default SQL Generation

  EDT 0.7.0 release provides quick assist support for the following EGL action statements to 
generate default SQL statements:
1 ADD Statement
2 DELETE Statement
3 GET Statement
4 OPEN Statement
5 REPLACE Statement

Use examples to show how to use the feature in EDT plugin.

EGL Record Definition:
    record Product{@Table {name="Product"}}
       id bigint{@Id};
   name string;
   price float;
end


The above is a basic record definition, one must use annotation @Id to specific which record 
field is used as primary key, also can use annotation @Table to specify to which table the record 
is mapped, just as 'Product' definition shows, but this is optional.

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

The above is an entity record definition that is generated from a table schema.



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


ADD Statement

 Click anywhere in the EGL statement and press CTRL+1, and press “Add SQL Statement” proposal, 
default SQL statement will be added to the above statement: 
     (1) add basicRec to ds; //for basic record 

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

     (2) add itemEntity to ds; //for entity record

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

DELETE Statement
    (3) delete basicRec from ds; // for basic record

Change To:
      delete basicRec from ds with
			#sql{
				delete from Product
				where id = ?
			};
   

  • OPEN Statement
  • REPLACE Statement



Back to the top