我想这样做
UPDATE CATALOGUE
SET CATALOGUE.NUMBERINSTOCK=NUMBERINSTOCK-1
WHERE CATALOGUE.ITEMID =(SELECT ALBUM.ALBUM_ID
FROM ALBUM
WHERE ALBUM.TITLE = '20 People in a Field'
AND IS_DISTRIBUTED_AS ='c')
和这个
INSERT INTO ORDERELEMENT VALUES (1,10,12,17)
如果这是真的
(SELECT NUMBERINSTOCK
FROM CATALOGUE
WHERE CATALOGUE.ITEMID =(SELECT ALBUM.ALBUM_ID
FROM ALBUM
WHERE ALBUM.TITLE = '20 People in a Field'
AND IS_DISTRIBUTED_AS ='c')) > 0
我遇到的问题是如何在SQL查询中查找条件语句,以及如何在一个查询中执行更新和插入。
我必须做所有这些事情作为一个查询。
答案 0 :(得分:0)
您无法更新一个表并在一个语句中插入另一个表。 如果指定WHERE子句,则可以有条件地执行UPDATE。您可以使用insert来完成相同的操作(详细信息取决于dbms)。
但是,您可以创建包含条件逻辑的存储过程。该程序的调用可能算作“一个”陈述?