【发布时间】:2020-11-20 10:19:34
【问题描述】:
我有一个这样的脚本:
DO $$
DECLARE someName TEXT;
BEGIN
someName := 'something';
DELETE FROM schema.tablename1 WHERE someColumn= someName ;
DELETE FROM schema.tablename2 WHERE someColumn= someName ;
DELETE FROM schema.tablename3 WHERE someColumn= someName ;
END $$;
保存为something.sql。
现在我想用这段代码批量调用这个脚本:
[POSTGISPATH]\psql.exe -h [HOSENAME] -p [PORT] -U [USERNAME] -d [DB] -f [SCRIPTPATH]\something.sql
而且效果很好。但现在我希望这个 someName := 'something' 可以在批处理文件中进行更改。
SET SOMETHING= 'something'
[POSTGISPATH]\psql.exe -h [HOSENAME] -p [PORT] -U [USERNAME] -d [DB] -f [SCRIPTPATH]\something.sql
我想把我的 SQL 脚本改成这样:
DO $$
DECLARE someName TEXT;
BEGIN
someName := %SOMETHING%;
DELETE FROM schema.tablename1 WHERE someColumn= someName ;
DELETE FROM schema.tablename2 WHERE someColumn= someName ;
DELETE FROM schema.tablename3 WHERE someColumn= someName ;
END $$;
知道怎么做吗?
【问题讨论】:
-
这能回答你的问题吗? Pass command line args to sql (Postgres)
标签: sql postgresql postgis