FSN#21030

svn path=/Database/trunk/; revision=10781
This commit is contained in:
Peter Feij
2011-07-20 09:07:42 +00:00
parent 1e624e943c
commit 73e256bde9
6 changed files with 96 additions and 302 deletions

View File

@@ -1,6 +1,6 @@
#ifdef BEZ // 03-11-2000 PF
/* $Revision: 32 $
* $Modtime: 6-09-10 15:20 $
/* $Revision: 33 $
* $Modtime: 12-07-11 17:03 $
*/
CREATE_TRIGGER(bez_t_bez_afspraak_B_IU)
@@ -76,74 +76,6 @@ END;
CREATE_TRIGGER(bez_t_bez_refkenmerk_b_iu)
BEFORE INSERT OR UPDATE ON bez_refkenmerk
FOR EACH ROW
DECLARE
ObjectType USER_OBJECTS.OBJECT_TYPE%TYPE;
BEGIN
UPDATE_PRIMARY_KEY(bez_refkenmerk_key,bez_s_bez_refkenmerk_key);
UPDATE_UPPER(bez_refkenmerk_omschrijving,bez_refkenmerk_upper,bez_refkenmerk);
UPDATE_AANMAAKDATUM(bez_refkenmerk, bez_refkenmerk_aanmaak);
/* Controleer of de ingevulde tablenaam, kolomnaam en kolomtxt
** wel bestaan.
*/
BEGIN
SELECT OBJECT_TYPE
INTO ObjectType
FROM USER_OBJECTS
WHERE OBJECT_NAME = :new.bez_refkenmerk_objectnaam;
EXCEPTION
WHEN NO_DATA_FOUND
THEN ObjectType := NULL;
END;
/* END IF; */
IF ObjectType IS NULL
THEN
APPLICATION_ERROR(-20000, 'ALG_M235');
ELSIF ObjectType IN ('TABLE','VIEW')
THEN
/* Bij een TABLE of VIEW staan de kolommen in USER_TAB_COLUMNS
** Controleer of deze KOLOMNAAM en KOLOMTXT bestaan.
**/
DECLARE
Dummy VARCHAR2(30);
BEGIN
SELECT COLUMN_NAME
INTO Dummy
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = :new.bez_refkenmerk_objectnaam
AND COLUMN_NAME = :new.bez_refkenmerk_kolomnaam
AND DATA_TYPE = 'NUMBER';
EXCEPTION
WHEN NO_DATA_FOUND
THEN APPLICATION_ERROR(-20000, 'ALG_M236');
END;
DECLARE
Dummy VARCHAR2(30);
BEGIN
SELECT COLUMN_NAME
INTO Dummy
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = :new.bez_refkenmerk_objectnaam
AND COLUMN_NAME = :new.bez_refkenmerk_kolomtxt
AND DATA_TYPE LIKE '%CHAR%';
EXCEPTION
WHEN NO_DATA_FOUND
THEN APPLICATION_ERROR(-20000, 'ALG_M237');
END;
ELSIF ObjectType <> 'SYNONYM'
THEN
/* Bij een SYNONYM kan er niet gecontroleerd worden
* of de ingevulde kolommen bestaan.
*/
/* NULL;
ELSE */
APPLICATION_ERROR(-20000, 'ALG_M235');
END IF;
END;
/
CREATE_TRIGGER(bez_t_bez_kenmerk_b_iu)
BEFORE INSERT OR UPDATE ON bez_kenmerk
@@ -358,6 +290,6 @@ BEGIN
END;
/
REGISTERRUN('$Workfile: BEZ_TRI.SRC $','$Revision: 32 $')
REGISTERRUN('$Workfile: BEZ_TRI.SRC $','$Revision: 33 $')
#endif // BEZ