En mulig løsning er blot at bruge DROP IF EXISTS, før du opretter den nye begrænsning.
ALTER TABLE foo DROP CONSTRAINT IF EXISTS bar;
ALTER TABLE foo ADD CONSTRAINT bar ...;
Det virker nemmere end at prøve at forespørge informationsskema eller kataloger, men kan være langsom på store tabeller, da det altid genskaber begrænsningen.
Rediger 2015-07-13:Kev påpegede i sit svar, at min løsning opretter et kort vindue, når begrænsningen ikke eksisterer og ikke bliver håndhævet. Selvom dette er sandt, kan du nemt undgå et sådant vindue ved at pakke begge udsagn ind i en transaktion.