sql >> Database >  >> RDS >> Mysql

Hoe plaats ik een 'if-clausule' in een SQL-string?

Voor uw specifieke vraag kunt u het volgende doen:

UPDATE purchaseOrder
    SET purchaseOrder_status = 'COMPLETED'
    WHERE purchaseOrder_ID = '@purchaseOrder_ID' and
          not exists (SELECT *
                      FROM itemsOrdered WHERE purchaseOrder_ID = '@purchaseOrdered_ID' AND status = 'PENDING'
                     )

Ik vermoed echter dat je op een hoger niveau aan het lussen bent. Probeer dit om al deze waarden in te stellen:

UPDATE purchaseOrder
    SET purchaseOrder_status = 'COMPLETED'
    WHERE not exists (SELECT 1
                      FROM itemsOrdered
                      WHERE itemsOrdered.purchaseOrder_ID = purchaseOrder.purchaseOrdered_ID AND
                            status = 'PENDING'
                      limit 1
                     )


  1. newid() binnen sql-serverfunctie

  2. Kan mysqlclient niet installeren op centos

  3. Sql Server Service Broker

  4. stel een leeg wachtwoord in voor PostgreSQL-gebruiker