SQLite中是否有if-like结构?在下面的代码中,我试图插入它是否存在,或者更新它是否存在的值,但两者都不起作用:
SELECT CASE EXISTS(SELECT BuildingType FROM Building_GreatPersonPoints WHERE BuildingType = 'BUILDING_OP_BUILDING' AND GreatPersonClassType='GREAT_PERSON_CLASS_PROPHET')
WHEN 0 THEN
INSERT INTO Building_GreatPersonPoints(BuildingType, GreatPersonClassType, PointsPerTurn) VALUES('BUILDING_OP_BUILDING', 'GREAT_PERSON_CLASS_PROPHET', 3)
WHEN 1 THEN
UPDATE Building_GreatPersonPoints SET PointsPerTurn = 3 WHERE BuildingType='BUILDING_OP_BUILDING' AND GreatPersonClassType='GREAT_PERSON_CLASS_PROPHET';
错误
在“插入”附近:语法错误:选择大小写存在(选择BuildingType)
来自Building_GreatPersonPoints的BuildingType=
“楼盘”和
GreatPersonClassType='GREAT_PERSON_CLASS_PROPHET')当0时
插入
INSERT INTO Building_GreatPersonPoints(BuildingType, GreatPersonClassType, PointsPerTurn) VALUES('BUILDING_OP_BUILDING', 'GREAT_PERSON_CLASS_PROPHET', 3)
WHEN NOT EXIST(SELECT * FROM Building_GreatPersonPoints WHERE BuildingType = 'BUILDING_OP_BUILDING' AND GreatPersonClassType='GREAT_PERSON_CLASS_PROPHET');
UPDATE Building_GreatPersonPoints SET PointsPerTurn = 3 WHERE BuildingType='BUILDING_OP_BUILDING' AND GreatPersonClassType='GREAT_PERSON_CLASS_PROPHET';
错误
接近“WHEN”:语法错误:插入到Building_GreatPersonPoints(BuildingType,GreatPersonClassType,PointsPerTurn)值('Building_OP_Building','GREAT_PERSON_CLASS_PROPHET',3)
什么时候
请告诉我这个问题,我该怎么解决?如果可能的话,请告诉我一般的条件结构(例如,如果为真,请执行A、B和C,如果为假,请执行C和D)。