请问大家 有没有 oracle储存过程得好例子 发一下,非常感谢!!
解决方案 »
- 如何将ORACLE9.2的EMP文件导入ORACLE9.0数据库中
- SQL语句问题
- 高手来帮个忙,怎么在Oracle数据库中实现转换???
- 请问mysql或sqlserver哪一个sql语句与oracle接近一些.我要开发一个原型,用小点的数据库,将来升级到oracle
- oracle中dbms下的包问题
- oracle8I中如何像sqlserver那样
- 我的oracle怎么无缘无故的出现以下错误啊:
- 如何将Oracle数据表读入到共享内存中?
- 急!!!求助!!ogg问题! 源端和目标端 7809端口建立不上
- 关于网站转移服务器后的问题
- 问一下查询语句的问题
- 要往A表连续插入几个字段为升序的数据,sql要怎么写
Dim dbs As Database, rst As Recordset Dim qdf As QueryDef, strSql As String ' 在您的计算机中修改此行使其正确指到 Northwind 的路径。 Set dbs = OpenDatabase("Northwind.mdb") ' 对运费超过 $100 的订单, strSql = "PROCEDURE CategoryList; " _ & "SELECT DISTINCTROW CategoryName, " _ & "CategoryID FROM Categories " _ & "ORDER BY CategoryName;" ' 创建基于 SQL 语句的 QueryDef 的名称。 ' Set qdf = dbs.CreateQueryDef("NewQry", strSql)
' 创建暂时的快照类型记录集。 Set rst = qdf.OpenRecordset(dbOpenSnapshot) ' populateRecordset。 rst.MoveLast ' 调用 EnumFields 来打印记录集的内容。 '传递记录集对象和要求的字符宽度。 ' EnumFields rst, 15 ' 删除 QueryDef 因为这是一个演示。 ' dbs.QueryDefs.Delete "NewQry" dbs.Close
End Sub
inPara IN CHAR
) IS/******************************************************************************
NAME :注释
PURPOSE : REVISIONS:
Ver Date Author Description
--------- ---------- --------------- ------------------------------------
******************************************************************************//** 1.变量定义 */
BEGIN/** 2.过程主体 */ COMMIT;/** 3.SQL语句的出错处理 */EXCEPTION WHEN NO_DATA_FOUND THEN
WHEN OTHERS THEN
ROLLBACK;
RAISE;END ProName ;
/
尽供参考,其中1.变量定义中定义你在存储过程中需要的变量,eg:t_todate CHAR(10); 2.过程主体中,写入你要进行的操作。
(
plines Varchar,
pdate1 Date,
pdate2 Date,
ptable out KL_Data.Tempcursor
)
as
Begin
If plines>'0' Then
Open ptable for
Select mdate,a.line,c.name,teams,a.wrkno,sname,sum(mqtys) mq,sum(gqtys) gq,sum(bqtys) bq,
Max(round((totals)*100/width,2)) pcent,round(sum(gqtys)*100/sum(mqtys),2) mcent,
(Case teams When 1 Then '白班' When 2 Then '中班' When 3 Then '夜班' End) teamname
From prod_make_head a
Left Join prod_work_head b On b.wrkno=a.wrkno
Left Join comm_line c On c.code=a.line
Where mdate Between pdate1 And pdate2 And a.line=plines And mqtys>0
Group By mdate,a.line,c.name,teams,a.wrkno,sname
Order By mdate,teams;
Else
Open ptable for
Select mdate,a.line,c.name,teams,a.wrkno,sname,sum(mqtys) mq,sum(gqtys) gq,sum(bqtys) bq,
Max(round((totals)*100/width,2)) pcent,round(sum(gqtys)*100/sum(mqtys),2) mcent,
--xl update 20080716 Max(round((width-totals)*100/width,2)) pcent,round(sum(gqtys)*100/sum(mqtys),2) mcent,
(Case teams When 1 Then '白班' When 2 Then '中班' When 3 Then '夜班' End) teamname
From prod_make_head a
Left Join prod_work_head b On b.wrkno=a.wrkno
Left Join comm_line c On c.code=a.line
Where mdate Between pdate1 And pdate2 And mqtys>0
Group By mdate,a.line,c.name,teams,a.wrkno,sname
Order By a.line,mdate,teams;
End If;
end;