The following (highly contrived and simplified) example runs fine in SQLDeveloper, but results in an ORA-01008 error when run through OCI.

```
declare
  CURRENT_LINE_ID NUMBER := 120;
  TARGETVAR NUMBER;
begin
  SELECT 1 INTO TARGETVAR FROM DUAL WHERE 120 = :CURRENT_LINE_ID;
end;

```

Is there any way to restructure this so that the bind variable is satisfied in OCI?

I experimented with [substitution variables](http://www.oracle.com/technetwork/testcontent/sub-var2-099853.html) a little (again works in SQL Developer), but DEFINE appear to be completely invalid in OCI.

```
DEFINE MYSUBST = 120;
DECLARE
  TARGETVAR NUMBER;
BEGIN
  SELECT 1 INTO TARGETVAR FROM DUAL WHERE 120 = &MYSUBST;
END;

```