Sequence, Procedures

torg
11-18-2002, 04:06 AM
I have a sequence named: REISE_IDSEKVENS

I have this line in a procedure in oracle:

INSERT INTO TBLREISEHISTORIE(REISE_ID ,RUTE_ID, FORNAVN , DATO , EMAIL) VALUES (REISE_IDSEKVENS.NEXTVAL,INPUTT_ruteID, INPUTT_Fornavn, INPUTT_dato, INPUTT_EMAIL);

As everybody understand, I wish to insert the value of the sequence in the column Reise everytime i excecute the procedure.
Is this the correct way of doing it?(call asequence)

Also I receive following errormessage:
"Can not insert NULL IN "TBLREISEHISTORIE.EMAIL

In VB i`v got the line:
Dim InsReiseParm5 As OleDb.OleDbParameter = InsReise.Parameters.Add("INPUTT_EMAIL", OleDb.OleDbType.VarChar)

I know for a fact that InsReiseParm5.Value = txtEpost.Text.
Anyne who can tell my what`s wrong?

lebb
11-20-2002, 10:18 AM
To your first question, yes, that is the proper way of using a sequence in Oracle. I'm not quite sure about your second question -- can you show some more of your VB code where you are calling that PL/SQL procedure?

torg
11-20-2002, 11:17 AM
I managed to solve my problem. Instead of the method mentioned above, I did this:

Dim cmdProcedure As OleDb.OleDbCommand = New OleDb.OleDbCommand()
cmdProcedure = New OleDb.OleDbCommand("CALL INSERT_REISER('" & dato & "', '" & Ruteid & "', '" & fornavn & "','" & etternavn & "','" & email & "')", Me.OleDbConnection)
cmdProcedure.ExecuteNonQuery()




CREATE OR REPLACE PROCEDURE IN601G79.INSERT_REISER
(INPUTT_dato in varchar2,
INPUTT_ruteid in varchar2,
INPUTT_Fornavn in varchar2,
INPUTT_Etternavn in varchar2,
INPUTT_EMAIL in varchar2)
AS

BEGIN
INSERT INTO TBLPASSASJER(FORNAVN , ETTERNAVN, EMAIL)VALUES(INPUTT_Fornavn,INPUTT_Etternavn,INPUTT_EMAIL);
INSERT INTO TBLREISEHISTORIE(REISE_ID ,RUTE_ID, FORNAVN , DATO , EMAIL) VALUES (REISE_IDSEKVENS.NEXTVAL, INPUTT_ruteID, INPUTT_Fornavn, INPUTT_dato, INPUTT_EMAIL);
update TBLFLYVNING SET ledigseter=(ledigseter-1) where TBLFLYVNING.DATO IN(SELECT TBLREISEHISTORIE.DATO FROM TBLREISEHISTORIE WHERE REISE_ID IN(SELECT MAX(REISE_ID)FROM TBLREISEHISTORIE))and tblFlyvning.Strekning_Id IN (SELECT TBLAVREISE_ANKOMST.Strekning_Id FROM TBLAVREISE_ANKOMST Where TBLAVREISE_ANKOMST.Rute_id IN(SELECT RUTE_ID FROM TBLREISEHISTORIE WHERE TBLREISEHISTORIE.REISE_ID IN(SELECT MAX(REISE_ID)FROM TBLREISEHISTORIE)));
END INSERT_REISER;

EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum