src/Pure/General/sql.scala
changeset 65319 64da14387b2c
parent 65292 e3bd1e7ddd23
child 65321 2b1cd063e0b2
equal deleted inserted replaced
65318:342efc382558 65319:64da14387b2c
   134       "DROP INDEX " + (if (strict) "" else "IF EXISTS ") + quote_ident(index_name)
   134       "DROP INDEX " + (if (strict) "" else "IF EXISTS ") + quote_ident(index_name)
   135 
   135 
   136     def sql_insert: String =
   136     def sql_insert: String =
   137       "INSERT INTO " + quote_ident(name) + " VALUES " + enclosure(columns.map(_ => "?"))
   137       "INSERT INTO " + quote_ident(name) + " VALUES " + enclosure(columns.map(_ => "?"))
   138 
   138 
       
   139     def sql_delete: String =
       
   140       "DELETE FROM " + quote_ident(name)
       
   141 
   139     def sql_select(select_columns: List[Column], distinct: Boolean): String =
   142     def sql_select(select_columns: List[Column], distinct: Boolean): String =
   140       "SELECT " + (if (distinct) "DISTINCT " else "") +
   143       "SELECT " + (if (distinct) "DISTINCT " else "") +
   141       commas(select_columns.map(_.sql_name)) + " FROM " + quote_ident(name)
   144       commas(select_columns.map(_.sql_name)) + " FROM " + quote_ident(name)
   142 
   145 
   143     override def toString: String =
   146     override def toString: String =
   190     /* statements */
   193     /* statements */
   191 
   194 
   192     def statement(sql: String): PreparedStatement = connection.prepareStatement(sql)
   195     def statement(sql: String): PreparedStatement = connection.prepareStatement(sql)
   193 
   196 
   194     def insert_statement(table: Table): PreparedStatement = statement(table.sql_insert)
   197     def insert_statement(table: Table): PreparedStatement = statement(table.sql_insert)
       
   198 
       
   199     def delete_statement(table: Table, sql: String = ""): PreparedStatement =
       
   200       statement(table.sql_delete + (if (sql == "") "" else " " + sql))
   195 
   201 
   196     def select_statement(table: Table, columns: List[Column],
   202     def select_statement(table: Table, columns: List[Column],
   197         sql: String = "", distinct: Boolean = false): PreparedStatement =
   203         sql: String = "", distinct: Boolean = false): PreparedStatement =
   198       statement(table.sql_select(columns, distinct) + (if (sql == "") "" else " " + sql))
   204       statement(table.sql_select(columns, distinct) + (if (sql == "") "" else " " + sql))
   199 
   205