使用hive-cli跑SQL批处理的时候, 可以使用–hivevar将参数传递给SQL语句中, 替换${param}
tidb支持类似的功能吗?
举例:
– sql内容:
vi job1.sql
select * from t where dt = ${param}
– shell脚本:
sql=$(cat job1.sql)
mysql -uroot -proot -e “${sql}” --hivevar param=‘2023-08-01’
你可以写一个shell脚本 在脚本中调用sql执行并传参数进sql
用shell 脚本,将sql语句作为参数
啥意思?是类似这样吗?
– shell脚本
param=‘2023-08-01’
sql="select * from t where dt = ${param} "
mysql -uroot -proot -e “${sql}”
是类似这种?
这是shell的使用,跟tidb有什么关系呢,你的例子就蛮好的,可以用啊
也可以通过这种方式,mysql -u root -p -e “set @1:=‘tabname’; source test.sql;”
test.sql中内容是这样
select * from tab
where tname =‘@1’;
3 个赞
是这种
学到了。。。谢谢
有方法通过SQL的形式传入参数吗? 不通过shell传参数, 类似–hivevar的用法