Linux shell 脚本如何仅在表不存在时创建 Oracle 表。
Linux shell 脚本如何仅在表不存在时创建 Oracle 表。
这个问题已经在这里有了答案:
我是Linux的新手,我想检查Oracle中是否不存在一张表,如果不存在则使用Linux shell脚本创建一个新的表。我可能需要使用 if else语句?
这是我在Oracle中创建表的代码
Create table traffic_profile_external ( TRAFFIC_PROFILE_ID NUMBER, PE_INGRESS_FLAG VARCHAR2(1), PE_EGRESS_FLAG VARCHAR2(1), CE_INGRESS_FLAG VARCHAR2(1), CE_EGRESS_FLAG VARCHAR2(1), COS_PROFILE_TYPE VARCHAR2(10) );
admin 更改状态以发布 2023年5月21日
您可以通过查询dba_|all_|user_tables
来查看表是否存在,这取决于您的特权、您是否在其他模式中可能创建表等。因此,您可以执行一些操作如
select count(*) from all_tables where owner = <> and table_name = 'TRAFFIC_PROFILE_EXTERNAL'
然后根据返回的结果决定是否执行CREATE TABLE
语句。您可以在匿名PL/SQL块中执行此操作,但是那样您将不得不使用动态SQL(通过EXECUTE IMMEDIATE
语句)来运行CREATE TABLE
语句。您还可以在 shell 脚本中将SELECT
语句的结果获取到变量中,并根据该变量分支操作。