我正在尝试创建一个连接到sqlplus的ShellScript,并验证是否存在表(如果不存在该脚本将创建该表)。
表可以为空。
我尝试过:
#!/bin/bash
sqlplus -s user/pass> tabs << EOF
SET SERVEROUTPUT ON
SET FEEDBACK OFF
DECLARE
e_not_exist EXCEPTION;
PRAGMA EXCEPTION_INIT(e_not_exist, -942);
tab_count NUMBER;
BEGIN
SELECT COUNT(*) INTO tab_count
FROM table_name;
DBMS_OUTPUT.PUT_LINE(tab_count);
EXCEPTION
when e_not_exist then
dbms_output.put_line('Table or view does not exists');
END;
/
EXIT
EOF
tabcount=`cat tabs`
echo You have $tabcount tables.
输出:
答案 0 :(得分:0)
尝试SELECT table_name FROM all_tables WHERE table_name = 'your_table_name'
all_tables是一个字典视图,其功能与名称相同。