SunQuest
           Oracle Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Dev Shed ForumsDatabasesOracle Development

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
1200+ fellow developers rate and compare features of the top IDEs, like Visual Studio, Eclipse, RAD, Delphi and others, across 13 categories. Enjoy this FREE Download of the IDE User Satisfaction Study by Evans Data Corporation. Download Now!
  #1  
Old February 26th, 2004, 02:09 PM
vjadon vjadon is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Feb 2004
Posts: 1 vjadon User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: < 1 sec
Reputation Power: 0
Unhappy help in creating a trigger

Hi ,

i REALLY NEED HELP IN CREATING THIS TRIGGER AS FAST AS i CAN. i AM NEW TO IT.
The business logic is as follows:
Trigger on CHECK_TABLE to enter a new REGION_DISTRICT.

1. On Insert
2. Is TABLE_NUM = 81?
a. No – do nothing and STOP
b. Yes – Continue
3. Get the MODEL_ID for the Current Model [CURRENT_MODEL_ID:]
a. SELECT MODEL_ID
FROM MODELS
WHERE YEAR = [max YEAR in MODELS]
AND SEQUENCE_NO = [max SEQUENCE_NO for max YEAR in MODELS]
AND DESIGNATION <> ‘P’
4. Is CHECK_TABLE.CODE in the REGION_DISTRICT table where MODEL_ID = CURRENT_MODEL_ID: ?
a. Yes – Do nothing and STOP
b. No – Continue
5. Insert new record into REGION_DISTRICT table
a. REGION = [1rst character of the CHECK_TABLE.CODE]
b. REGION_DISTRICT_CODE = CHECK_TABLE.CODE
c. PRINT_SEQUENCE = [max PRINT_SEQUENCE where MODEL_ID = CURRENT_MODEL: ]
d. DISTRICT_ABBREV = CHECK_TABLE.CODE
e. ALT_REGION_OFFICE = CHECK_TABLE.CODE
f. HEADER_LINE_1 = NULL
g. HEADER_LINE_2 = CHECK_TABLE.CODE
h. CREATED_BY = ‘ADMIN’
i. MODIFIED_BY = ‘ADMIN’
j. CREATED_DATE = [system date]
k. MODIFIED_DATE = [system date]
l. OFFICE_NAME = CHECK_TABLE.DESCRIPTION
m. MODEL_ID = CURRENT_MODEL_ID:
6. Does MODELS.DESIGNATION = ‘W” where MODEL_ID = CURRENT_MODEL_ID:?
a. No – do nothing and STOP
b. Yes – Continue
7. Get the MODEL_ID for the most recent Model from the previous year [PREV_MODEL_ID:]
a. SELECT MODEL_ID
FROM MODELS
WHERE YEAR = [max YEAR in MODELS minus 1]
AND SEQUENCE_NO = [max SEQUENCE_NO for (max YEAR in MODELS – 1)]
AND DESIGNATION <> ‘P’
8. Is CHECK_TABLE.CODE in the REGION_DISTRICT table where MODEL_ID = PREV_MODEL_ID: ?
a. Yes – Do nothing and STOP
b. No – Continue on to 9
9. Insert new record into REGION_DISTRICT table
a. REGION = [1rst character of the CHECK_TABLE.CODE]
b. REGION_DISTRICT_CODE = CHECK_TABLE.CODE
c. PRINT_SEQUENCE = [max PRINT_SEQUENCE where MODEL_ID = PREV_MODEL: ]
d. DISTRICT_ABBREV = CHECK_TABLE.CODE
e. ALT_REGION_OFFICE = CHECK_TABLE.CODE
f. HEADER_LINE_1 = NULL
g. HEADER_LINE_2 = CHECK_TABLE.CODE
h. CREATED_BY = ‘ADMIN’
i. MODIFIED_BY = ‘ADMIN’
j. CREATED_DATE = [system date]
k. MODIFIED_DATE = [system date]
l. OFFICE_NAME = CHECK_TABLE.DESCRIPTION
m. MODEL_ID = PREV_MODEL_ID:
10. Is the REGION code [first character of CHECK_TABLE.CODE] in the REGION table?
a. Yes – Do nothing and STOP
b. No – Continue on to 11
11. Insert new record into REGION table
a. REGION = [first character of CHECK_TABLE.CODE]
b. REGION_ABBREV = [first character of CHECK_TABLE.CODE]
c. HEADER_LINE_1 = NULL
d. HEADER_LINE_2 = ‘NEW REGION’
e. DESCRIPTION = ‘NEW REGION – CODE = ’ & [first character of CHECK_TABLE.CODE]
f. CREATED_BY = ‘ADMIN’
g. MODIFIED_BY = ‘ADMIN’
h. CREATED_DATE = [system date]
i. MODIFIED_DATE = [system date]
END

Add new code to FDA_PAC_UPDATE trigger on PROGRAM_ASSIGNMENTS table to enter a new PMS_CODE. This code is executed ONLY IF the PAC_CODE is new [not already in the PAC table]. First part of FDA_PAC_UPDATE should be making this check.

1. On Insert
2. Get the MODEL_ID for the Current Model [CURRENT_MODEL_ID:]
a. SELECT MODEL_ID
FROM MODELS
WHERE YEAR = [max YEAR in MODELS]
AND SEQUENCE_NO = [max SEQUENCE_NO for max YEAR in MODELS]
AND DESIGNATION <> ‘P’
3. Is PROGRAM_ASSIGNMENTS.PMS_CODE in the PMS table where MODEL_ID = CURRENT_MODEL_ID: ?
a. Yes – do nothing and STOP
b. No – Continue
4. Insert new record into PMS table
a. PMS_GROUP = 0
b. PMS_CODE = PROGRAM_ASSIGNMENTS.PMS_CODE
c. DESC_TEXT = ‘NEW PPS – PPS GROUP AND CENTER UNKNOWN’
d. CENTER_CODE = 0
e. MODEL_ID = CURRENT_MODEL_ID:
f. CREATED_BY = ‘ADMIN’
g. MODIFIED_BY = ‘ADMIN’
h. CREATED_DATE = [system date]
i. MODIFIED_DATE = [system date]
5. Does MODELS.DESIGNATION = ‘W” where MODEL_ID = CURRENT_MODEL_ID:?
a. No – do nothing and STOP
b. Yes – Continue
6. Get the MODEL_ID for the most recent Model from the previous year [PREV_MODEL_ID:]
a. SELECT MODEL_ID
FROM MODELS
WHERE YEAR = [max YEAR in MODELS minus 1]
AND SEQUENCE_NO = [max SEQUENCE_NO for (max YEAR in MODELS – 1)]
AND DESIGNATION <> ‘P’
7. Is PROGRAM_ASSIGNMENTS.PMS_CODE in the PMS table where MODEL_ID = PREV_MODEL_ID: ?
a. Yes – do nothing and STOP
b. No – Continue
8. Insert new record into PMS table
a. PMS_GROUP = 0
b. PMS_CODE = PROGRAM_ASSIGNMENTS.PMS_CODE
c. DESC_TEXT = ‘NEW PPS – PPS GROUP AND CENTER UNKNOWN’
d. CENTER_CODE = 0
e. MODEL_ID = PREV_MODEL_ID:
f. CREATED_BY = ‘ADMIN’
g. MODIFIED_BY = ‘ADMIN’
h. CREATED_DATE = [system date]
i. MODIFIED_DATE = [system date]
END

The tables are as follows:
These are the two tables involved:
CREATE TABLE REGION_DISTRICT
(
REGION CHAR(1) NOT NULL,
REGION_DIST_CODE VARCHAR2(2) NOT NULL,
PRINT_SEQUENCE NUMBER,
DISTRICT_ABBREV VARCHAR2(10),
ALT_REGION_OFFICE VARCHAR2(10),
HEADER_LINE1 VARCHAR2(10),
HEADER_LINE2 VARCHAR2(10),
CREATED_BY VARCHAR2(10),
CREATED_DATE DATE,
MODIFIED_BY VARCHAR2(10),
MODIFIED_DATE DATE,
OFFICE_NAME VARCHAR2(50),
MODEL_ID NUMBER NOT NULL
)




CREATE TABLE MODELS
(
MODEL_ID NUMBER NOT NULL,
YEAR NUMBER,
DESIGNATION CHAR(1),
SEQUENCE_NO NUMBER,
STATUS CHAR(1),
TO_STATUS CHAR(1),
MODELS_COMMENT VARCHAR2(1000),
CREATED_BY VARCHAR2(10),
CREATED_DATE DATE,
MODIFIED_BY VARCHAR2(10),
MODIFIED_DATE DATE,
WP_START_DATE DATE,
TRANSMIT_DATE DATE,
RELEASE_TO CHAR(1) DEFAULT 'F',
WP_SEQUENCE NUMBER DEFAULT 1 NOT NULL,
OLD_MODEL_ID NUMBER,
TRANSMIT_SCHEDULED CHAR(1)
)


CREATE TABLE CHECK_TABLE
(
TABLE_NUM VARCHAR2(2) NOT NULL,
CODE VARCHAR2(7),
DESCRIPTION VARCHAR2(74),
END_DATE DATE
)

THANK YOU VERY MUCH IN ADVANCE.
GYANA

Reply With Quote
Reply

Viewing: Dev Shed ForumsDatabasesOracle Development > help in creating a trigger


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump


Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 





© 2003-2008 by Developer Shed. All rights reserved. DS Cluster 3 hosted by Hostway