SQL の経験は豊富ですが、Oracle PL/SQL は初めてです。現在、いくつかの T-SQL ステートメントを PL/SQL に変換しようとしています。次のコードを実行しようとしていますが、いくつかのエラーが発生します。
テーブルがまだ存在しない場合、エラーは次のとおりです。テーブルまたはビューは存在しません。しかし、2 番目の 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;
どうすれば解決できますか...