如
create or replace procedure Q1
(tabname river.name%TYPE,x1 secretunit.tclevel%TYPE,y1 secretunit.tclevel%TYPE,x2 secretunit.tclevel%TYPE,y2 secretunit.tclevel%TYPE)
IS
BEGIN
select a.name from tabname a where SDO_RELATE(a.GEOLOC,MDSYS.SDO_GEOMETRY(2003,8307,NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),
MDSYS.SDO_ORDINATE_ARRAY(x1,y1,x2,y1,x2,y2,x1,y2,x1,y1)),
'mask=anyinteract querytype=WINDOW')='TRUE';---这行总变灰,怎么改呀?
END Q1;
谢谢各位!!
create or replace procedure Q1
(tabname river.name%TYPE,x1 secretunit.tclevel%TYPE,y1 secretunit.tclevel%TYPE,x2 secretunit.tclevel%TYPE,y2 secretunit.tclevel%TYPE)
IS
BEGIN
select a.name from tabname a where SDO_RELATE(a.GEOLOC,MDSYS.SDO_GEOMETRY(2003,8307,NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),
MDSYS.SDO_ORDINATE_ARRAY(x1,y1,x2,y1,x2,y2,x1,y2,x1,y1)),
'mask=anyinteract querytype=WINDOW')='TRUE';---这行总变灰,怎么改呀?
END Q1;
谢谢各位!!
2 要用select into语句,或用游标
create or replace procedure T2
(tabname river.name%TYPE)
IS
v_name number;
BEGIN
select count(*) into v_name from tabname ;(--改为&&tabname也是INVALID,改为具体表名如river,然后去掉上头的参数就是valid的。)
DBMS_OUTPUT.PUT_LINE(to_char(v_name));
END T2;请教该怎么改呢?谢谢
execute immediate sql;
DECLARE
sql_stmt VARCHAR2(200);
plsql_block VARCHAR2(500);
emp_id NUMBER(4) := 7566;
salary NUMBER(7,2);
dept_id NUMBER(2) := 50;
dept_name VARCHAR2(14) := 'PERSONNEL';
location VARCHAR2(13) := 'DALLAS';
emp_rec emp%ROWTYPE;
BEGIN
EXECUTE IMMEDIATE 'CREATE TABLE bonus (id NUMBER, amt NUMBER)';
sql_stmt := 'INSERT INTO dept VALUES (:1, :2, :3)';
EXECUTE IMMEDIATE sql_stmt USING dept_id, dept_name, location;
sql_stmt := 'SELECT * FROM emp WHERE empno = :id';
EXECUTE IMMEDIATE sql_stmt INTO emp_rec USING emp_id; ------------你要的
plsql_block := 'BEGIN emp_pkg.raise_salary(:id, :amt); END;';
EXECUTE IMMEDIATE plsql_block USING 7788, 500;
sql_stmt := 'UPDATE emp SET sal = 2000 WHERE empno = :1
RETURNING sal INTO :2';
EXECUTE IMMEDIATE sql_stmt USING emp_id RETURNING INTO salary;
EXECUTE IMMEDIATE 'DELETE FROM dept WHERE deptno = :num'
USING dept_id;
EXECUTE IMMEDIATE 'ALTER SESSION SET SQL_TRACE TRUE';
END;
execute immediate sql;不能直接写参数。