我是 Oracle PL/SQL 的新手,尽管我对 SQL 有很多经验。目前我正在尝试将几个 T-SQL 语句转换为 PL/SQL。我正在尝试执行以下代码,但出现一些错误。
如果表尚不存在,则错误为:表或视图不存在。但是当我在没有第二个 select 语句的情况下运行查询时,它会创建表。现在该表存在,我尝试再次执行它,现在我收到以下错误:
此 SELECT 语句中需要一个 INTO 子句。
我正在使用的代码:
DECLARE
cnt NUMBER;
stmt VARCHAR2(1000) := 'CREATE TABLE LAST_LOG_ARCHIVE (LAST_LOG_ARCHIVE TIMESTAMP NULL)';
BEGIN
SELECT COUNT(*) INTO cnt FROM all_tables WHERE table_name = 'LAST_LOG_ARCHIVE';
IF (cnt = 0) THEN
EXECUTE IMMEDIATE stmt;
END IF;
SELECT COALESCE((
SELECT LAST_LOG_ARCHIVE FROM LAST_LOG_ARCHIVE WHERE ROWNUM = 1
), TO_TIMESTAMP('2015-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')) AS LAST_LOG_ARCHIVE FROM dual;
END;
我该如何解决这个...?