select * into ....
from (
select row_number() over(order by gxsj) no,
WJFTESTTABLE.* from WJFTESTTABLE ) t1,
(select no from (select row_number() over(order by gxsj) no,
WJFTESTTABLE.* from WJFTESTTABLE ) t where id='0604') t2
where abs(t1.no-t2.no)<2;存储过程中不支持select * from tb_;
要返回记录集,请使用游标。
from (
select row_number() over(order by gxsj) no,
WJFTESTTABLE.* from WJFTESTTABLE ) t1,
(select no from (select row_number() over(order by gxsj) no,
WJFTESTTABLE.* from WJFTESTTABLE ) t where id='0604') t2
where abs(t1.no-t2.no)<2;存储过程中不支持select * from tb_;
要返回记录集,请使用游标。
解决方案 »
- oracle数据库删除提交数最优设定为多少?
- 触发器编译出错
- 新新新~~~怎么判断数据库中某几个字段是否符合条件。查询结果是:这几个字段是否有符合条件的值?
- 关于java调用oracle的存储过程
- 同上
- oracle中如何创建内置的boolean类型?
- 我想用一个给定的关键字去匹配一个blob型的字段,请问该如何作
- 查询中何为驱动表阿??请问这句话怎么理解啊?
- ORACLE 11GR2 ,建库创建EM , 在85%的时候提示Error securing Database Control, Database Contro
- 求救,帮助啊,各大佬
- oracle9i的$ORACLE_HOME/bin/下到底有没有hsodbc这个文件啊?
- 创建数据库的问题
select row_number() over(order by gxsj) no,
WJFTESTTABLE.* from WJFTESTTABLE ) t1,
(select no from (select row_number() over(order by gxsj) no,
WJFTESTTABLE.* from WJFTESTTABLE ) t where id='0604') t2
into out_t1,out_no,out_t2
where abs(t1.no-t2.no)<2;
as
type myRefCursor is ref cursor;
end;CREATE OR REPLACE PROCEDURE MBP.PROC_WJFTEST(cur out myPackage.myRefCursor)
is
BEGIN
open cur for '
select *
from
(
select row_number() over(order by gxsj) no
,WJFTESTTABLE.*
from WJFTESTTABLE
) t1,
(
select no
from
(
select row_number() over(order by gxsj) no,
WJFTESTTABLE.*
from WJFTESTTABLE
) t
where id=''0604''
) t2
where abs(t1.no-t2.no)<2
';
end;
try
{
conn.Open();
OracleCommand cmd = new OracleCommand("MBP.PROC_WJFTEST", conn); cmd.CommandType = CommandType.StoredProcedure;
OracleParameter parm = new OracleParameter("cur",OracleType.Cursor);
parm.Direction = ParameterDirection.Output;
cmd.Parameters.Add(parm);
OracleDataAdapter adapter = new OracleDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds);
this.GridView1.DataSource = ds.Tables[0].DefaultView;
this.GridView1.DataBind();
}
catch
{
throw;
}
finally
{
conn.Close();
}
FOR REC IN (SELECT T1.*
FROM (SELECT ROW_NUMBER() OVER(ORDER BY GXSJ) NO,
WJFTESTTABLE.*
FROM WJFTESTTABLE) T1,
(SELECT NO
FROM (SELECT ROW_NUMBER() OVER(ORDER BY GXSJ) NO,
WJFTESTTABLE.*
FROM WJFTESTTABLE) T
WHERE ID = '0604') T2
WHERE ABS(T1.NO - T2.NO) < 2) LOOP
--可直接引查询结果 REC.* 数据
END LOOP;