Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var MyTable = "{{MYTABLE}}";
- var NEWLINE = "\r\n";
- function eachWithIdx(iterable, f) { var i = iterable.iterator(); var idx = 0; while (i.hasNext()) f(i.next(), idx++); }
- function mapEach(iterable, f) { var vs = []; eachWithIdx(iterable, function (i) { vs.push(f(i));}); return vs; }
- function output() { for (var i = 0; i < arguments.length; i++) { OUT.append(arguments[i]); } }
- function InsertStatement() {
- output("INSERT INTO " + MyTable + " (");
- var columns = mapEach(COLUMNS, function (col) { return col.name(); });
- output(columns.join(", "));
- output(")");
- }
- function outputRow(row) {
- output("VALUES (");
- var values = mapEach(COLUMNS, function (col) {
- var lineVal = FORMATTER.format(row, col);
- if ( isDate(lineVal) || TrueString(lineVal)) { lineVal = QuoteWrap(lineVal); }
- return lineVal;
- });
- output(values.join(", "));
- output(")");
- }
- function QuoteWrap(str) {
- return "'" + str + "'";
- }
- function TrueString(str) {
- return !(str.search("SELECT") >= 0 && str.search("FROM") >= 0 ) && isNaN(str) && !(str.search('NULL') >= 0) ;
- }
- mapEach(ROWS, function (row) {
- InsertStatement();
- output(NEWLINE);
- outputRow(row);
- output(NEWLINE, "GO", NEWLINE);
- });
- function isDate(date) { return (isNaN(date) && !isNaN(Date.parse(date))); }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement