“第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”,然后选择它。
有人可以帮忙吗?我不确定它为什么不起作用。
答案 0 :(得分:1)
您希望在;
语句后添加分号(INSERT
),以确保它被数据库视为SELECT
的单独语句。
答案 1 :(得分:0)
你可以试试这个
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,则返回第二个参数。