簡體   English   中英

如何在Teradata中使用環境變量作為數據庫名稱來創建表和存儲過程?

[英]How to use environmental variables for database names in Teradata to create table and stored procedures?

我們擁有DEV,UAT和PRD環境。 我們最近創建了20個新模式和120個表。 假設PO_DEV_SPD是數據庫名稱。 我已經在這種模式下創建了表。 現在,我想使用環境變量代替數據庫名稱。 如$ SPDDB.MY_ACCOUNT。 在創建表以及存儲過程時如何使用此env變量。

更新:創建DDL時

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

創建DDL / DML時,可以使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM