sql server一个使用游标的实例
--创建游标
DECLARE Cursor1 CURSOR FOR
SELECT NODE_NO,NODE_VALUE,SUM(RESALE_SUM-RESALERETU_SUM+SALE_SUM-SALERETU_SUM) sale_sum,
SUM(STORE_SUM) sum_store,SUM(STORE_SUM) store_sum,
sum(RESALE_PROFIT-RESALERETU_PROFIT+SALE_PROFIT-SALERETU_PROFIT-ADJUST_PROFIT) sale_profit
from tiger.BUSINESSREPORT20090702,tiger.GOODSINFO,tiger.PROD_TREE_MAST
WHERE RPT_GOODSNO=GDS_NO AND left(GDS_RIVALSHOP,4)=NODE_NO AND GDS_GRADE=3
GROUP BY NODE_NO,NODE_VALUE --打开游标
OPEN Cursor1; --定义变量
declare @node_no char(20),
@node_value char(50),
@sale_sum VARCHAR(20),
@sum_store VARCHAR(20),
@store_sum VARCHAR(20),
@sale_profit VARCHAR(20) --取数据
fetch NEXT from Cursor1 into @node_no,@node_value,@sale_sum,@sum_store,@store_sum,@sale_profit while(@@fetch_status=0)
begin
UPDATE tmp_node0615 SET RESALESUM20090702=ISNULL(@sale_sum,0),COUNT20090702=ISNULL(@store_sum,0) ,PROFIT20090702=ISNULL(@sale_profit,0) WHERE NODENO=@node_no;
UPDATE tmp_node0615 SET SUMSTOCK=SUMSTOCK+COUNT20090702 WHERE NODENO=@node_no;
fetch next from Cursor1 into @node_no,@node_value,@sale_sum,@sum_store,@store_sum,@sale_profit
end --关闭游标
close Cursor1 --删除游标资源
deallocate Cursor1
GO
相关文档:
/*
--作用:SQL SERVER操作ACCESS的存储过程
----------------------用法-------------------------------
--创建表tc
exec sp_operate_access 'create table tc(id int)','c:\db1.mdb'
go
--在tc表插入数据
exec sp_operate_access 'insert into tc(id) values(1)','c:\db1.mdb'
go
--删除tc表的数据
exec sp_op ......
说到软解析(soft prase)和硬解析(hard prase),就不能不说一下Oracle对sql的处理过程。当你发出一条sql语句交付Oracle,在执行和获取结果前,Oracle对此sql将进行几个步骤的处理过程:
1、语法检查(syntax check)
检查此sql的拼写是否语 ......
使用PL/SQL developer远程访问oracle数据库时,首先要确定本机中装有oracle客户端。目前还不知道哪里单独的oracle客户端安装包。(因为我用的是oracle10g,oracle10g安装的过程中没有特定的客户端选项,所以我一般都是在本机用安装oracle所有功能)
在本机安装好oracle客户端后,我们在本机(即客户端)的oracle的安装目录下 ......
我经常碰到有人会问一些数据库优化方面的问题,我觉得这是一最基本技能要求,特别是使用sql server 2005,对于sql server的优化,使用的专职dba或兼职dba们工作更轻松,效率更高了,但是还是有很多新人可能不大了解,我在这儿写一下最基本的一些介绍。
一、首先介绍一下sql server 2005中优化数据时使用到的两个工 ......
这是一个CSDN Oracle开发版块里,网友问过的一道题
题如下
create table A_TEST
(
PAYOUT_ITEM_CODE VARCHAR2(30) not
null,
FORMULA_DET VARCHAR2(1000)
)
create table B_TEST
(
ELEMENT_ID VARCHAR2(5) not null,
NAME VARCHAR2(41)
)
求写oracle多个字符替换(有测试数据)
inser ......