用存储过程完成以下功能可以实现吗?

[复制链接]
查看11 | 回复3 | 2015-3-6 11:57:31 | 显示全部楼层 |阅读模式
表的建表脚本如下:
create table TBL_CN_CHARGE
(
TRADE_ID NUMBER,
MONEYNUMBER,
PHONEVARCHAR2(12),
ST NUMBER,
SC_NUMBERVARCHAR2(12),
INTIME DATE,
CHARGETIME DATE
);
利用存储过程完成以下功能:
1.查询语句select * from TBL_CN_CHARGE where st=1and rownum<11;
2. 更新update TBL_CN_CHARGE set (st=3,sc_number=10) 前10条记录;
3. 然后返回这10条记录的(TRADE_ID,MONEY )字段
用存储过程完成以上功能可以实现吗?
关键是返回两个变量.
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
能实现
可以返回cursor
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
create or replace procedure test1_TBL_CN_CHARGE() AS
v_TRADE_ID varchar;
v_MONEY integer;
m_TRADE_ID integer;
m_MONEY integer;
cursor cursor0 is select TRADE_ID,MONEY from TBL_CN_CHARGE where st=1and rownum< 11 ;
begin
update TBL_CN_CHARGE set st=3,sc_number=10 where st=1and rownum<11;
returncursor0;
end;
/
以上这么写吗
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
关键问题是rownum<11不能保证每次都返回相同的行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行