以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [分享]存储过程使用方法详记 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=60438) |
-- 作者:jnletao -- 发布时间:2014/11/25 8:46:00 -- [分享]存储过程使用方法详记 本人对存储过程比较陌生,这几天在论坛大能的帖子里整理学习了下。以下内容供分享及交流,不足之处还请指证 1.存储过程写法(例) USE [PClothData] GO /****** 对象: StoredProcedure [dbo].[GroupStorePro] 脚本日期: 11/25/2014 08:37:56 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[GroupStorePro] @FieldStr nvarchar(255) = \'款号,颜色,尺码\', @FilterStr nvarchar(1000) = \'1=1\', @HavingStr nvarchar(255) = \'\', @OrderStr nvarchar(255) = \'款号,颜色,尺码\' AS Declare @sql NVarchar(4000) Set @sql=\'Select \'+@FieldStr+\', Sum(数量) As [库存数量],Sum(CASE WHEN 正负 = 1 THEN 数量 ELSE 0 END) As [入库数量],Sum(CASE WHEN 正负 = -1 THEN 数量 ELSE 0 END)*-1 As [出库数量],round((CASE WHEN Sum(CASE WHEN 正负 = 1 THEN 数量 ELSE 0 END) = 0 then 0 else (Sum(CASE WHEN 正负 = -1 THEN 数量 ELSE 0 END)*-1)/(Sum(CASE WHEN 正负 = 1 THEN 数量 ELSE 0 END)*1.0) end),2) As [出库率] From 单据详情 Inner JOIN 单据列表 ON 单据列表.[单据编号] = 单据详情.[单据编号] Where \'+@FilterStr+\' Group By \'+@FieldStr+\' \'+@HavingStr+\' Order by \'+@OrderStr+\'\' Exec sp_executesql @sql 2.调用方法(传统) Dim cmd As New SQLCommand cmd.Connection Name = "ClothData" cmd.CommandText = "Exec GroupStorePro,\'参数1\',\'参数2\',\'参数3\',\'参数4\'" 库存查询表 = cmd.ExecuteReader Tables("库存查询_TablePageBill").DataSource = 库存查询表 库存查询表为全局变量datatable 3.调用方法(新发现) Tables("库存查询_TablePageBill").Fill("Exec GroupStorePro,\'参数1\',\'参数2\',\'参数3\',\'参数4\'","PClothData",True) 4.存储过程中select及where 用到的文本字段建非聚集索引,可成倍提高查询速度。 --------------------------------------------------- 堪误 : "Exec GroupStorePro,\'参数1\',\'参数2\',\'参数3\',\'参数4\'" 写法错误,红色逗号处应为空格,也就是说 过程名与 参数要用空格分开 正确写法:"Exec GroupStorePro \'参数1\',\'参数2\',\'参数3\',\'参数4\'" [此贴子已经被作者于2014-11-26 13:10:34编辑过]
|
-- 作者:Bin -- 发布时间:2014/11/25 8:57:00 -- 谢谢分享 |
-- 作者:逛逛 -- 发布时间:2014/11/25 9:00:00 -- 不错,顶 |
-- 作者:wei0769 -- 发布时间:2014/11/25 23:28:00 -- 不错,暂时用不上,要开发大系统才用得上 |
-- 作者:zyqzyy -- 发布时间:2014/11/26 13:03:00 -- 顶 |
-- 作者:黄训良 -- 发布时间:2015/4/28 0:58:00 -- 顶,正要用。 |
-- 作者:lihe60 -- 发布时间:2015/4/28 7:53:00 -- 楼主的帖子有人看懂如何用了吗? |
-- 作者:haotinghua -- 发布时间:2020/4/17 13:45:00 -- 哈哈 正需要 谢谢 |