2010-12-09 132 views
0

我想这样做SQL更新和插入

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

为什么在单个查询中? – 2010-12-09 14:20:44

+0

我做一个数据库,当然,这是一个问题的一部分,我发现剩下的确定,但各方面我尝试这个问题我得到的错误:( – hactf 2010-12-09 14:27:42

回答

0

您无法更新一个表并在一个语句中插入到另一个表中。 如果您指定WHERE子句,则可以有条件地执行UPDATE。你可以使用插入来实现同样的功能(细节取决于dbms)。

但是,您可以创建一个包含您的条件逻辑的存储过程。那个程序的调用可以算作“一个”陈述?