31 lines
641 B
PL/PgSQL
Executable File
31 lines
641 B
PL/PgSQL
Executable File
-- # $Id$
|
|
-- # $HeadURL$
|
|
-- # $Author$
|
|
|
|
CREATE OR REPLACE FUNCTION exists_constraint(constraintName text, dbSchema text, constraintType char) RETURNS bool AS
|
|
$$
|
|
DECLARE
|
|
exist_constraint "bool";
|
|
|
|
BEGIN
|
|
|
|
EXECUTE 'SELECT COUNT(*)
|
|
FROM pg_class c
|
|
JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
WHERE c.relname = $1
|
|
AND n.nspname = $2
|
|
AND c.relkind = $3'
|
|
INTO exist_constraint
|
|
USING constraintName, dbSchema, constraintType;
|
|
|
|
IF exist_constraint THEN
|
|
RETURN TRUE;
|
|
ELSE
|
|
RETURN FALSE;
|
|
END IF;
|
|
|
|
END;
|
|
$$
|
|
LANGUAGE plpgsql;
|
|
|