UNPKG

very-simple-orm

Version:

This is simple orm for typesript/javascript projects

50 lines (39 loc) 1.68 kB
import { FIELD_NAME_VALUE, INSERT, SQL_VALUES, SQL_VALUES_MANY } from "../../Iinterfaces"; import Sql from "./SQL"; export default class Insert extends Sql implements INSERT{ insert(_insertFields: FIELD_NAME_VALUE[]): SQL_VALUES { let __sql:string=""; let __values:any[]=[]; let __filedList:string[]=[] let __valueList:"?"[]=[] _insertFields.forEach(el=>{ __filedList.push(el.fieldName) __valueList.push("?"); __values.push(el.value) }) __sql = `INSERT INTO ${this._tableName} (${__filedList.toString()}) VALUES (${__valueList.toString()})`; let ret:SQL_VALUES= {"sql" : __sql , "values": __values}; return ret; } // INSERT INTO `orgTest` (`id`, `orgName`) VALUES (NULL, 'jjh'), (NULL, 'tdh'); insertMany(_insertFields: FIELD_NAME_VALUE[][]): SQL_VALUES_MANY { let __sql:string=""; let __values:any[][]=[]; let __filedList:string[]=[] let __valueList:"?"[]=[]; _insertFields.forEach((el, index)=>{ let __inValues:any[]=[]; el.forEach((item)=>{ if(__filedList.length < el.length){ __filedList.push(item.fieldName) __valueList.push("?") } __inValues.push(item.value) }) __values.push(__inValues) }) __sql = `INSERT INTO ${this._tableName} (${__filedList.toString()}) VALUES (${__valueList.toString()})`; let ret:SQL_VALUES_MANY= {"sql" : __sql , "values": __values}; return ret; } }