有没有能统一管理一个参数,然后让所有的transformation和job都可以读到呢? 答案是有
1.首先,打开.kettle\ kettle.properties,直接在里面定义,( 注意这个文件需要与spoon.bat放在同一个目录下面)比如:
paramName=to_char(sysdate,'yyyymmdd') 这里 支持数据库函数,
说的更直白点,就是这里定义是个啥,那么在transformation里边取到的它就是啥。
2.定义之后,保存,重启spoon。
3.在需要的地方,直接 %%paramName%%,或者 ${paramName}就可以得到。
举例:
或者
也有人说${}这种方式是在linux下的,%%%%是在windows下的,反正我在windows下这两种写法均可。
最后别忘了把那个替换SQL语句里的变量这个勾上
如果在SQL语句中需要用到?作为参数 则需要使用 从步骤插入数据 而使用变量时则不需要使用此步骤
如果使用变量(${变量命名})如果是字符串则需要加'号('${变量名}')
1.首先,打开.kettle\ kettle.properties,直接在里面定义,( 注意这个文件需要与spoon.bat放在同一个目录下面)比如:
paramName=to_char(sysdate,'yyyymmdd') 这里 支持数据库函数,
说的更直白点,就是这里定义是个啥,那么在transformation里边取到的它就是啥。
2.定义之后,保存,重启spoon。
3.在需要的地方,直接 %%paramName%%,或者 ${paramName}就可以得到。
举例:
SELECT COLUMN1,COLUMN2 FROM TESTTABLE WHERE to_char(cdate,'yyyymmdd')=${paramName}
或者
SELECT COLUMN1,COLUMN2 FROM TESTTABLE WHERE to_char(cdate,'yyyymmdd')=%%paramName%%
也有人说${}这种方式是在linux下的,%%%%是在windows下的,反正我在windows下这两种写法均可。
最后别忘了把那个替换SQL语句里的变量这个勾上
如果在SQL语句中需要用到?作为参数 则需要使用 从步骤插入数据 而使用变量时则不需要使用此步骤
如果使用变量(${变量命名})如果是字符串则需要加'号('${变量名}')