簡體   English   中英

“ SELECT”附近的語法錯誤

[英]Syntax error near 'SELECT'

“第9行'SELECT'附近的語法錯誤”

 ALTER PROCEDURE "DBA"."ultimaDataMigracao"()
RESULT( ultimaData TIMESTAMP)  
BEGIN
    IF EXISTS (SELECT * FroM migracao_controlo) THEN
        SELECT max(DataMigracao)
        From migracao_controlo;
    ELSE    
        INSERT INTO migracao_controlo (Id, DataMigracao) VALUES ('1','2000-01-01 00:00:00')
        SELECT max(DataMigracao)
        From migracao_controlo;   
    END IF 
END

我正在嘗試選擇表中最大的時間戳,但是沒有要插入“ 2000-01-01 00:00:00”的內容,然后選擇它。

有人可以幫忙嗎? 我不確定為什么它不起作用。

您希望在INSERT語句之后添加分號( ; ),以確保數據庫將其視為與SELECT分開的單獨語句。

你可以試試這個

ALTER PROCEDURE "DBA"."ultimaDataMigracao"()
RESULT( ultimaData TIMESTAMP)  
BEGIN
    IF EXISTS (SELECT * FroM migracao_controlo) THEN
        SELECT max(DataMigracao)
        From migracao_controlo;
    ELSE    
        INSERT INTO migracao_controlo (Id, DataMigracao)
        SELECT 1, nvl(max(DataMigracao),to_date('01012000','DDMMYYYY'))
        From migracao_controlo;   
    END IF 
END

如果第一個為null,則nvl返回第二個參數。

看到這里: https : //www.w3schools.com/sql/sql_isnull.asp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM