Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Xref Table

458485May 16 2008 — edited May 17 2008
I need to create a XREF table to fix tons of records in the database, I loaded the correct records in a custom table (SZTSBGI) here is the description.

CREATE TABLE SZTSBGI
(
SZTSBGI_CODE VARCHAR2(6 BYTE),
SZTSBGI_SCHOOL_NAME VARCHAR2(30 BYTE),
SZTSBGI_ADDR_LINE_1 VARCHAR2(30 BYTE),
SZTSBGI_ADDR_LINE_2 VARCHAR2(30 BYTE),
SZTSBGI_CITY VARCHAR2(16 BYTE),
SZTSBGI_STATE_PROV VARCHAR2(3 BYTE),
SZTSBGI_PSTL_CODE VARCHAR2(10 BYTE),
SZTSBGI_CTRY_NAME VARCHAR2(25 BYTE),
SZTSBGI_ADDR_IND VARCHAR2(1 BYTE),
SZTSBGI_CHG_DATE VARCHAR2(6 BYTE),
SZTSBGI_CHG_CODE VARCHAR2(1 BYTE),
SZTSBGI_SCH_TYPE VARCHAR2(1 BYTE)
)

I need to use the following tables
SOBSBGI
(
SOBSBGI_SBGI_CODE VARCHAR2(6 BYTE) NOT NULL,
SOBSBGI_STREET_LINE1 VARCHAR2(30 BYTE),
SOBSBGI_STREET_LINE2 VARCHAR2(30 BYTE),
SOBSBGI_STREET_LINE3 VARCHAR2(30 BYTE),
SOBSBGI_CITY VARCHAR2(20 BYTE) NOT NULL,
SOBSBGI_STAT_CODE VARCHAR2(3 BYTE),
SOBSBGI_CNTY_CODE VARCHAR2(5 BYTE),
SOBSBGI_ZIP VARCHAR2(10 BYTE),
SOBSBGI_NATN_CODE VARCHAR2(5 BYTE),
SOBSBGI_ACTIVITY_DATE DATE NOT NULL

And
STVSBGI
(
STVSBGI_CODE VARCHAR2(6 BYTE) NOT NULL,
STVSBGI_TYPE_IND VARCHAR2(1 BYTE) NOT NULL,
STVSBGI_SRCE_IND VARCHAR2(1 BYTE),
STVSBGI_DESC VARCHAR2(30 BYTE),
STVSBGI_ACTIVITY_DATE DATE NOT NULL,
STVSBGI_ADMR_CODE VARCHAR2(4 BYTE),
STVSBGI_EDI_CAPABLE VARCHAR2(1 BYTE),
STVSBGI_FICE VARCHAR2(6 BYTE),
STVSBGI_VR_MSG_NO NUMBER(6),
STVSBGI_DISP_WEB_IND RAW(1)
)
I am planning to load the data( via sqlldr) in the table

SZCEEBXREF
(
SZCEEBXREF_SOBSBGI_CODE VARCHAR2(6 BYTE),
SZCEEBXREF_COLL_BOARD_CODE VARCHAR2(6 BYTE),
SZCEEBXREF_STVSBGI_CODE VARCHAR2(6 BYTE),
SZCEEBXREF_COLL_BOARD_NAME VARCHAR2(30 BYTE),
SZCEEBXREF_STVSBGI_NAME VARCHAR2(30 BYTE),
SZCEEBXREF_COLL_BOARD_ADDR1 VARCHAR2(30 BYTE),
SZCEEBXREF_SOBSBGI_LINE1 VARCHAR2(30 BYTE),
SZCEEBXREF_COLL_BOARD_ADDR2 VARCHAR2(30 BYTE),
SZCEEBXREF_SOSBGI_STREET_LINE2 VARCHAR2(30 BYTE),
SZCEEBXREF_COLL_BOARD_CITY VARCHAR2(30 BYTE),
SZCEEBXREF_SOSBGI_CITY VARCHAR2(30 BYTE),
SZCEEBXREF_COLL_BOARD_ST VARCHAR2(3 BYTE),
SZCEEBXREF_SOBSBGI_STAT VARCHAR2(3 BYTE),
SZCEEBXREF_COLL_BOARD_ZIP VARCHAR2(3 BYTE),
SZCEEBXREF_SOBSBGI_ZIP VARCHAR2(3 BYTE),
SZCEEBXREF_COLL_BOARD_CTR VARCHAR2(30 BYTE),
SZCEEBXREF_TYPE_IND VARCHAR2(1 BYTE)
)

Before I load the data I need to write the query or the view to generate a file.
Here is my question( sorry if is a stupid one), do I need to join the tables
SZTSBGI, SOBSBGI and STVSBGI, I can join
nitcap(SOBSBGI_CITY) = initcap(SZTSBGI_CITY)
and initcap(SOBSBGI_STREET_LINE1) = initcap(SZTSBGI_ADDR_LINE_1)
AND SOBSBGI_SBGI_CODE = STVSBGI_CODE
and SOBSBGI_ZIP = SZTSBGI_PSTL_CODE

NOT all the records matched, some of the SOBSBGI_STREET_LINE1 are not equal to SZTSBGI_ADDR_LINE_1 the same with
AND SOBSBGI_SBGI_CODE = STVSBGI_CODE
and SOBSBGI_ZIP = SZTSBGI_PSTL_CODE


OR option 2
Do I need to load all the COLUMNS WITH THE SOBSBGI IN THE name with the all the data from the SOBSBGI table, not joins the same with the STVSBGI and COLL_BOARD (is in SZTSBGI) not joins just load the columns
Straight from the table, I guess I don’t have experience loading XREF tables…

If the option 2 is the right one can you give me some ideas of how to
Write the code, union? Online view? Pl\sql….

I will appreciated any ideas?
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 14 2008
Added on May 16 2008
1 comment
511 views