CREATE OR REPLACE PROCEDURE scott.AddFriend ( My_ID IN VARCHAR2 , Fr_ID IN VARCHAR2 , retVal OUT NUMBER ) IS str VARCHAR2(300); res NUMBER; BEGIN str := 'SELECT COUNT(*) FROM '||My_ID||'_friend WHERE f_id = :Fr_ID'; EXECUTE IMMEDIATE str INTO res USING Fr_ID; IF res > 0 THEN retVal := 0; ELSE str := 'INSERT INTO '||My_ID||'_friend VALUES(:Fr_ID, friendnumseq.NEXTVAL)'; EXECUTE IMMEDIATE str USING Fr_ID; retVal := 1; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN NULL; WHEN OTHERS THEN NULL END AddFriend; /