如何使用Teradata中数据库名称的环境变量来创建表和存储过程



我们有开发,UAT和PRD环境。我们最近创建了20个新模式和120个表。假设PO_DEV_SPD是数据库名称。我已经在此模式下创建了表。现在,我想使用环境变量而不是数据库名称。像$ spddb.my_account。在创建表和存储过程中,我如何使用此ENV变量。

更新:创建DDLS

CREATE MULTISET TABLE $SPDDB.tbl_employee
(
name VARCHAR(20),
id INT,
roll_no INT
)
PRIMARY INDEX (id, roll_no)

创建DDLS/DMLS时,我可以使用shell脚本使用Env变量?

这是一个示例,应该指向正确的方向。

BTQLOGLOGON的路径是虚构的,并不代表良好的实践。替换为适合您的环境和环境强制执行的安全参数的路径。

#!/usr/bin/ksh
SPDDB='PROD'
BTQLOG='/var/opt/log/bteq.log'
LOGON='/var/opt/logon/bteq.con'
#
bteq <<EOBTQ > $BTQLOG 2>&1
.RUN file=${LOGON}
CREATE MULTISET TABLE $SPDDB.tbl_employee
(
name VARCHAR(20),
id INT,
roll_no INT
)
PRIMARY INDEX (id, roll_no);
.QUIT ERRORLEVEL;
EOBTQ
#
#
STATUS=$?
#
exit $STATUS

最新更新