У меня есть таблица Oracle, которая используется для хранения настроек приложения.
Это сценарий SQL, который используется для создания таблицы:
CREATE TABLE "GLOBALSETTINGS"(
"SettingName" Varchar2(40 ) NOT NULL,
"SettingValue" Varchar2(40 )
)
/
-- Add keys for table GLOBALSETTINGS
ALTER TABLE "GLOBALSETTINGS" ADD CONSTRAINT "Key14" PRIMARY KEY ("SettingName")
/
ALTER TABLE "GLOBALSETTINGS" ADD CONSTRAINT "SettingName" UNIQUE ("SettingName")
/
Это оператор SQL, который я хочу использовать:
UPDATE GLOBALSETTINGS
SET settingValue =
CASE
WHEN settingName = 'SessionTTL'
THEN '30'
WHEN settingName = 'MaxUsersActive'
THEN '40'
ELSE settingValue
END
WHERE settingName IN ('SessionTTL', 'MaxUsersActive');
Но когда я запускаю его в SQL-разработчике, я получаю это сообщение об ошибке:
Error starting at line 1 in command:
UPDATE GLOBALSETTINGS
SET settingValue = case
when settingName = 'SessionTTL' then '30'
when settingName = 'MaxUsersActive' then '40'
else settingValue
end
WHERE settingName in ('SessionTTL', 'MaxUsersActive')
Error at Command Line:7 Column:6
Error report:
SQL Error: ORA-00904: "SETTINGNAME": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Как я могу исправитьпроблема?
С наилучшими пожеланиями, Питер