KETTLE-转换-脚本组件
脚本组件
Execute SQL script
执行sql组件
- Execute for each row? 为是否开启预查询(类似于java数据库连接的PrepareStatement),如果不选中则需要使用将参数拼接在sql上,如果选中则使用占位符?执行sql
- Execute as a single statement为是否只执行一个SQL,如果不选中则按;分隔sql去一条条执行(但Parameters栏的参数个数只能是第一条sql的个数),如果选中则整个sql丢到数据库中执行(只能一个sql)
- Variable substitution为替换变量后执行sql
- Bind parameters? 为替换占位符?后执行sql
- Quote Strings?为根据数据库差异而对应地在字符串加入引号
- Parameters为参数列表,可通过Get fields按钮自动获取
Modified Java Script Value
JavaScript编写组件,一般用作:针对数据进行逻辑校验、拼装数据等
- Input Fields为流数据的字段
- Script1为编辑区
- Fields为输出字段列表,支持改变字段名字、指定数据类型、长度等
- Get variables为自动获取Script1编辑区的变量为输出字段
- Test script为测试Script1编辑区的脚本
总结
- 不推荐使用Execute SQL script组件,请使用如表输出、表输入、更新/新增、更新、删除等专用组件,因为效率更快(工作中实测10w条,speed快了5倍)