• 033.PGSQL-psql-登录时执行sql命令和sql文件,传递参数


    -c  执行sql语句

    -A  返回数据非对齐模式

    -t 返回数据本身

    -f 执行sql文件

    -q 不显示输出信息

    元命令设置变量

    set  v_id  value  设置参数

    id =:v_id

    psql  传参变量到sql脚本   -v

    psql -h localhost -p 5432 mydb pguser -v v_id = 1   -f /var/lib/pgsql/13/test1.sql
    [root@s101 /home/centos]#psql -h localhost -p 5432 mydb pguser -c "select * from myschema.o_ls_test;"
    Password for user pguser:
     rid | name |          timeflag
    -----+------+----------------------------
       1 | aa   | 2021-07-03 20:12:15.004507
       3 | cc   | 2021-07-03 20:12:45.117668
    (2 rows)
    
    [root@s101 /home/centos]#psql -h localhost -p 5432 mydb pguser -A -c "select * from myschema.o_ls_test;"
    Password for user pguser:
    rid|name|timeflag
    1|aa|2021-07-03 20:12:15.004507
    3|cc|2021-07-03 20:12:45.117668
    (2 rows)
    [root@s101 /home/centos]#psql -h localhost -p 5432 mydb pguser -At -c "select * from myschema.o_ls_test;"
    Password for user pguser:
    1|aa|2021-07-03 20:12:15.004507
    3|cc|2021-07-03 20:12:45.117668
    [root@s101 /home/centos]#psql -h localhost -p 5432 mydb pguser -At -c "select name from myschema.o_ls_test limit 1;"
    Password for user pguser:
    aa

     执行sql文件

    [root@s101 /home/centos]#psql -h localhost -p 5432 mydb pguser -f /var/lib/pgsql/13/test.sql
    Password for user pguser:
    INSERT 0 1

    传递参数

    mydb=# set v_rid 5
    mydb=# select * from myschema.o_ls_test where rid =:v_rid;
     rid | name |          timeflag
    -----+------+----------------------------
       5 | bb   | 2021-07-03 20:47:43.066873
    (1 row)

    test1.sql

    select * from  myschema.o_ls_test  where rid=:v_rid;

    执行脚本传递参数

    [root@s101 /home/centos]#psql -h localhost -p 5432 mydb pguser -v v_rid=5  -f /var/lib/pgsql/13/test1.sql
    Password for user pguser:
     rid | name |          timeflag
    -----+------+----------------------------
       5 | bb   | 2021-07-03 20:47:43.066873
    (1 row)
  • 相关阅读:
    SAP SD 模块面试题
    商品ATP check FM(获得可用库存和总库存)
    获得SO的凭证流
    SAP XI 常用事务代码
    ABAP 面试问题及答案(一)(转)
    ABAP 面试题(转)
    SAP XI 3.0考试大纲
    Enterprise System Applicaiton 试题
    Enterprise Portal 试题
    ABAP 100 道面试题
  • 原文地址:https://www.cnblogs.com/star521/p/15062896.html
Copyright © 2020-2023  润新知