Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.tools -> Delete Procedure Behaving Strangely

Delete Procedure Behaving Strangely

From: <seniag75_at_my-deja.com>
Date: Mon, 04 Dec 2000 21:32:58 GMT
Message-ID: <90h2ia$ld2$1@nnrp1.deja.com>

Hello:

I have written the following stored procedure below....

CREATE OR REPLACE PROCEDURE "USP_ACTIVEINGREDIENTS_DELETE" (
ActiveIngredientNo IN tblActiveIngredients.ActiveIngredientNo%TYPE, retval OUT NUMBER
)
AS

BEGIN
 DELETE FROM
  tblActiveIngredients WHERE "ACTIVEINGREDIENTNO" = ActiveIngredientNo;

 retval := SQL%ROWCOUNT;

 COMMIT; END; When I run the procedure in SQL PLUS using the following code.

SET SERVEROUTPUT ON;
SET AUTOCOMMIT ON;
DECLARE
        P9 NUMBER;
BEGIN

	usp_ActiveIngredients_Delete(<any number>, P9);
	DBMS_OUTPUT.PUT_LINE(P9);

END;
/

The procedure executes and deletes ALL rows in my table, not just the one with the key I have specified. I am utterly confused, as this makes no sense. If I type the SQL directly into SQL Plus "Delete From tblActiveIngredients Where ActiveIngredientNo = <AnyNumber>" it works fine.

Can anyone tell me what I am doing wrong?

Thanks.

JG

Sent via Deja.com http://www.deja.com/
Before you buy. Received on Mon Dec 04 2000 - 15:32:58 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US