Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. var MyTable = "{{MYTABLE}}";
  2.  
  3. var NEWLINE = "\r\n";
  4.  
  5. function eachWithIdx(iterable, f) { var i = iterable.iterator(); var idx = 0; while (i.hasNext()) f(i.next(), idx++); }
  6.  
  7. function mapEach(iterable, f) { var vs = []; eachWithIdx(iterable, function (i) { vs.push(f(i));}); return vs; }
  8.  
  9. function output() { for (var i = 0; i < arguments.length; i++) { OUT.append(arguments[i]); } }
  10.  
  11. function InsertStatement() {
  12. output("INSERT INTO " + MyTable + " (");
  13. var columns = mapEach(COLUMNS, function (col) { return col.name(); });
  14. output(columns.join(", "));
  15. output(")");
  16. }
  17.  
  18. function outputRow(row) {
  19. output("VALUES (");
  20. var values = mapEach(COLUMNS, function (col) {
  21. var lineVal = FORMATTER.format(row, col);
  22. if ( isDate(lineVal) || TrueString(lineVal)) { lineVal = QuoteWrap(lineVal); }
  23. return lineVal;
  24. });
  25. output(values.join(", "));
  26. output(")");
  27. }
  28.  
  29. function QuoteWrap(str) {
  30. return "'" + str + "'";
  31. }
  32.  
  33. function TrueString(str) {
  34. return !(str.search("SELECT") >= 0 && str.search("FROM") >= 0 ) && isNaN(str) && !(str.search('NULL') >= 0) ;
  35. }
  36.  
  37. mapEach(ROWS, function (row) {
  38. InsertStatement();
  39. output(NEWLINE);
  40. outputRow(row);
  41. output(NEWLINE, "GO", NEWLINE);
  42. });
  43.  
  44. function isDate(date) { return (isNaN(date) && !isNaN(Date.parse(date))); }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement