背景
以hive为例,如果某个hive引擎,有my_test、test_dd、test_xx、aqtest0228数据库某张表的数据,如果需要查询某个库的数据,需要带库名,否则会报错。
sql语句如下 SELECT * FROM aqtest0228.t_bz_zl_ss_zyxx_wrwcr;
但是有些时候,不想sql语句带库名,那就可以在执行前,在会话中指定库名或者schema。
use aqtest0228 ;
SELECT * FROM t_bz_zl_ss_zyxx_wrwcr;
实现
需要把sql,指定执行的数据库或者schema,假如名称为my_test,下面是各类数据库的切换语句。
1、ORACLE
alter session set current_schema my_test;
2、达梦
set schema my_test;
3、PG和神通数据库
SET search_path to my_test;
4、hive
use my_test ;