我有一些百行代码用于创建表,但在所有的DDL语句中模式名称都是硬编码的,就像SCHEMA_NAME1.TABLE_NAME。如何将其作为变量并在所有位置使用,以便我们可以轻松地在多个需要SCHEMA_NAME的地方更改单个位置。请分享你的想法。
create table SCHEMA_NAME1.TABLE_NAME1(....);
create table SCHEMA_NAME1.TABLE_NAME2(....);
create table SCHEMA_NAME1.TABLE_NAME3(....);
我希望您能提供类似于这样的东西。
var SCHEMA_NAME_VALUE ;
create table SCHEMA_NAME_VALUE.TABLE_NAME1(....);
create table SCHEMA_NAME_VALUE.TABLE_NAME2(....);
create table SCHEMA_NAME_VALUE.TABLE_NAME3(....);
create table &SCHEMA_NAME.TABLE_NAME1(....);
并使用模式参数执行脚本。如果代码仅创建表、视图或授权,则可以将所有内容转换为单个CREATE SCHEMA AUTHORIZATION
命令。 - Husqvik&
需要用户为每个替换变量的实例输入一次模式名称。对于第一次出现,使用双和号&&
或在脚本开头使用ACCEPT
命令可以只输入一次值。ACCEPT
命令是更可取的方法,因为它确保您每次运行脚本时都可以设置该值。您还应在末尾包括UNDEFINE
。 - Sentinel&
)变量时,不要忘记加倍尾随句点,因为句点用作变量名称的可选终止字符。当变量名称后面没有空格时,需要使用句点终止字符,正如上面的情况一样,所以您需要加倍使用它,以便不丢失模式名称与对象名称之间的句点分隔符。 - Sentinel