TEXT TO lcScript TEXTMERGE NOSHOW PRETEXT 2
drop table Presidents
ENDTEXT
IF NOT THIS.RunSQL(lcScript)
RETURN .f.
ENDIF
TEXT TO lcScript TEXTMERGE NOSHOW PRETEXT 2
create table Presidents
(keyid number(4),
loginid varchar2(8),
lastname varchar2(30),
firstname varchar2(30),
updated_by varchar2(8))
ENDTEXT
IF NOT THIS.RunSQL(lcScript)
RETURN .f.
ENDIF
TEXT TO lcScript TEXTMERGE NOSHOW PRETEXT 2
create sequence S_Presidents start with 1 increment by 1 nocache
ENDTEXT
IF NOT THIS.RunSQL(lcScript)
RETURN .f.
ENDIF
TEXT TO lcScript TEXTMERGE NOSHOW PRETEXT 2
create or replace trigger Presidents_BEFORE_INSUPDT
before insert or update on <>.Presidents
for each row
declare
v_Id Number;
BEGIN
If :new.KeyID Is Null or :new.KeyID < 1 Then
select S_Presidents.nextval into v_Id from dual;
:new.KeyID := v_Id;
End If;
END;
ENDTEXT
IF NOT THIS.RunSQL(lcScript)
RETURN .f.
ENDIF
ENDPROC
PROCEDURE Cr8_SProcs
LOCAL lcScript, lnRetVal
TEXT TO lcScript NOSHOW PRETEXT 2
CREATE OR REPLACE PROCEDURE PrezInsert
(cLoginID IN Presidents.LoginID%Type,
cLastName IN Presidents.LastName%Type,
cFirstName IN Presidents.FirstName%Type,
cUpdated_By IN Presidents.Updated_By%Type) AS
BEGIN
INSERT INTO Presidents
(LoginID, LastName, FirstName, Updated_By)
VALUES
(cLoginID, cLastName, cFirstName, cUpdated_By);
END;
ENDTEXT
IF NOT THIS.RunSQL(lcScript)
RETURN .f.
ENDIF
TEXT TO lcScript NOSHOW PRETEXT 2
CREATE OR REPLACE PROCEDURE PrezUpdateAll
(cNameMask IN Presidents.LastName%Type,
cUpdated_By IN Presidents.Updated_By%Type,
nRowCount OUT NUMBER) AS
BEGIN
UPDATE Presidents
SET Updated_By = cUpdated_By
WHERE LastName LIKE cNameMask;
nRowCount := SQL%ROWCOUNT;
END;
ENDTEXT
IF NOT THIS.RunSQL(lcScript)
RETURN .f.
ENDIF
TEXT TO lcScript NOSHOW PRETEXT 2
CREATE OR REPLACE PROCEDURE PrezUpdate
(nRowCount OUT NUMBER,
nKeyID IN Presidents.KeyID%Type,
cLoginID IN Presidents.LoginID%Type,
cLastName IN Presidents.LastName%Type,
cFirstName IN Presidents.FirstName%Type,
cUpdated_By IN Presidents.Updated_By%Type) AS
BEGIN
UPDATE Presidents
SET LoginID = cLoginID,
LastName = cLastName,
FirstName = cFirstName,
Updated_By = cUpdated_By
WHERE KeyID = nKeyID;
nRowCount := SQL%ROWCOUNT;
END;
ENDTEXT
IF NOT THIS.RunSQL(lcScript)
RETURN .f.
ENDIF
ENDPROC
PROCEDURE InsertData
LOCAL laData(42, 3)
laData[ 1, 1] = ’GWASHING’
laData[ 1, 2] = ’Washington’
laData[ 1, 3] = ’George’
laData[ 2, 1] = ’JADAMS’
laData[ 2, 2] = ’Adams’
laData[ 2, 3] = ’John’
laData[ 3, 1] = ’TJEFFERS’
laData[ 3, 2] = ’Jefferson’
laData[ 3, 3] = ’Thomas’
laData[ 4, 1] = ’JMADISON’
laData[ 4, 2] = ’Madison’
laData[ 4, 3] = ’James’
laData[ 5, 1] = ’JMONROE’
laData[ 5, 2] = ’Monroe’
laData[ 5, 3] = ’James’
laData[ 6, 1] = ’JQADAMS’
laData[ 6, 2] = ’Adams’
laData[ 6, 3] = ’John Q’
laData[ 7, 1] = ’AJACKSON’
laData[ 7, 2] = ’Jackson’
laData[ 7, 3] = ’Andrew’
laData[ 8, 1] = ’MVBUREN’
laData[ 8, 2] = ’Van Buren’
laData[ 8, 3] = ’Martin’
laData[ 9, 1] = ’WHARRISO’
laData[ 9, 2] = ’Harrison’
laData[ 9, 3] = ’William’
laData[10, 1] = ’JTYLER’
laData[10, 2] = ’Tyler’
laData[10, 3] = ’John’
laData[11, 1] = ’JPOLK’
laData[11, 2] = ’Polk’
laData[11, 3] = ’James’
laData[12, 1] = ’ZTAYLOR’
laData[12, 2] = ’Taylor’
laData[12, 3] = ’Zachary’
laData[13, 1] = ’MFILLMOR’
laData[13, 2] = ’Fillmore’
laData[13, 3] = ’Millard’
laData[14, 1] = ’FPIERCE’
laData[14, 2] = ’Pierce’
laData[14, 3] = ’Franklin’
laData[15, 1] = ’JBUCHANA’
laData[15, 2] = ’Buchanan’
laData[15, 3] = ’James’
laData[16, 1] = ’ALINCOLN’
laData[16, 2] = ’Lincoln’
laData[16, 3] = ’Abe’
责任编辑:小草