標籤:ldd code ict 特色 space query 工具 .com dem
祝大家2018新年快樂,前不久發現了一個創意的指令碼JtSQL(java編寫)開源地址為:https://github.com/noear/JtSQLJtSQL 特點:
*.結合了JS、SQL、模板理念;
*.保持了JS和SQL的文法高亮(利於DBA審核);
*.方便統一管理、部署、運行
*.像預存程序一樣,提供當前上下文及變數支援;
*.像SQL用戶端工具一樣,即時編寫即時運行;
*.像定製統計程式一樣,提供過程和邏輯控制能力;
*.服務端運行(
別誤會成用戶端運行啊...) 確實在工作中總會遇到這樣的問題經常去拉sql,有時候一句sql執行搞不定 就得分多次sql,寫sql寫的心累。把JavaScript 和 sql 結合起來確實很贊。能解決一直困擾的問題以這個為創意點我也搞了一個工具 我命名為tabris指令碼工具
開源地址為:https://github.com/yuzd/ClearScript.Manager
(ps:大家有建議儘管提)特色:
1 包含JtSQL的所有特性2 利用微軟的 ClearScript V8 engine 詳細請參考:https://microsoft.github.io/ClearScript/Tutorial/FAQtorial.html?from=timeline&isappinstalled=0ClearScript很強大可以做到c# 與 JavaScript 互連3 把功能模組化 目前已實現的3個重要的模組1. 執行http請求處理模組2. 日誌輸出處理模組3. 執行sql處理模組.4. js代碼智能提示tabris模組以後想用其他的功能都可以擴充其他模組 4. 代碼編寫採用CodeMirror ,寫js代碼智能提示 下面來一個動圖感受下吧以以下情境為樣本
封裝的sql log http 三大組件 在編輯器上的方法能代碼智能提示
//DB處理器var db = this.tabris.create(‘SQL‘, { name:‘testorm‘, type:‘mysql‘});//http處理器var http = this.tabris.create(‘HTTP‘, { method:‘GET‘});//log處理器var log = this.tabris.create(‘LOG‘, { trace:true});db.delete(‘delete from child_district‘);//從district表裡面擷取所有城市的Codevar get_district_sql = "select Code from district";var district_code_list = db.query(get_district_sql);for (var index = 0; index < district_code_list.length; index++) { getChildDistrictAndInsertToDb(district_code_list[index].Code);}//遠程擷取function getChildDistrictAndInsertToDb(parentCode){ log.info(parentCode); var re = http.getJson({ url:‘https://fuwu.sf-express.com/service/address/newAddr/getNewSubAddress?parentCode=‘ + parentCode }); if(!re.subAddressList || !re.subAddressList.length) return; for (var index = 0; index < re.subAddressList.length; index++) { var child = re.subAddressList[index]; var insertSql = "insert into child_district (Name,Code,DataChange_LastTime) VALUES(‘"+ child.distCnName +"‘,‘"+ child.distCode +"‘,now())"; var insertResult = db.insert(insertSql) if(insertResult!=1){ log.error(child.distCnName + ‘插入db失敗!‘); }else{ log.info(child.distCnName + ‘插入db成功!‘) } }}
用戶端下載
javascript + sql編寫SQL用戶端工具tabris