-
Sql Server Proc 先看看简单吧
CREATE PRoc [名字] { @参数 数据类型, @参数 数据类型 OUTPUT[输入] } AS begin select INSERT UPDATE (SQL) end --基本语句快
--以上是语句库
--先看看不带参数的吧 他跟方法一样 可以带参数也可以不带参数(当然我没用过几次不带参数的)
--获取一个表吧这种都感觉像视图了
IF(SELECT * FROM sysobjects WHERE Name ='proc_table') DROP PROC proc_table GO CREATE PROC proc_table AS SELECT * FROM Users WHERE S_ID='' GO EXEC proc_table
--带参数的吧--就看看登录的SQL吧
IF(SELECT * FROM sysobjects WHERE Name ='P_LOG') DROP PROC P_LOG GO CREATE PROC P_LOG @acctount VARCHAR(50), @accountpwd VARCHAR(50) AS BEGIN SELECT COUNT(*) FROM Users WHERE U_LoginName=@acctount AND U_Password=@accountpwd; END EXEC P_LOG'1','123456' --C#orjava 调了之后直接判断有没有值即可 --这是返回单行单列。需要用返回单行单列的放方法去接收
--再看看输出参数的存储过程
在JAVA中我们需要调用带参的方法时需要传参给形参,列入比较两个大小的方法 int compare( int first ,int second),比较10 和20的大小,则调用形式:tempcompare(10,20),方法compare返回值赋值给变量为tmp.
存储过程中也有与很像是,有两种类型的参数的参数
~输入参数:调用是像存储过程传实参,用来向PROC传值
~输出参数: 同JAVA 如果希望参数可以带出方法,则可以使用输出参数值带出方法,则可以输出参数,通过定义参数 "OUTPUT"标记 ,表明该参数是输出参数 ,执行存储过程后吧 返回值存放在输出中-
可以给其他T-SQL 语句访问,
CREATE proc [dbo].[P_GetConsumeOrderPaged] @PageSize int, @PageIndex int, @Count int output, @MC_CradID varchar(20), @MC_Mobile varchar(20), @BeginDate varchar(20), @EndDate varchar(20), @CO_OrderType int, @S_ID int as begin select top(@PageSize) * from ConsumeOrders M inner join MemCards A on M.MC_ID=A.MC_ID inner join CategoryItems B on M.CO_OrderType=B.CI_ID where A.S_ID=@S_ID and M.CO_ID not in( select top(@PageSize*(@PageIndex-1)) M.CO_ID from ConsumeOrders M inner join MemCards A on M.MC_ID=A.MC_ID inner join CategoryItems B on M.CO_OrderType=B.CI_ID and A.S_ID=@S_ID and B.C_Category='CO_OrderType' and ((A.MC_CardID=@MC_CradID or A.MC_Mobile=@MC_Mobile) or (@MC_CradID='' and @MC_Mobile='')) and ((@BeginDate='' or @EndDate='') or (M.CO_CreateTime between @BeginDate and @EndDate)) and ((@CO_OrderType=0) or (M.CO_OrderType=@CO_OrderType)) ) and B.C_Category='CO_OrderType' and ((A.MC_CardID=@MC_CradID or A.MC_Mobile=@MC_Mobile) or (@MC_CradID='' and @MC_Mobile='')) and ((@BeginDate='' or @EndDate='') or (M.CO_CreateTime between @BeginDate and @EndDate)) and ((@CO_OrderType=0) or (M.CO_OrderType=@CO_OrderType)) select @Count=COUNT(*) from ConsumeOrders M inner join MemCards A on M.MC_ID=A.MC_ID inner join CategoryItems B on M.CO_OrderType=B.CI_ID where A.S_ID=@S_ID and B.C_Category='CO_OrderType' and ((A.MC_CardID=@MC_CradID or A.MC_Mobile=@MC_Mobile) or (@MC_CradID='' and @MC_Mobile='')) and ((@BeginDate='' or @EndDate='') or (M.CO_CreateTime between @BeginDate and @EndDate)) and ((@CO_OrderType=0) or (M.CO_OrderType=@CO_OrderType)) end GO
-- 创建参数带有默认值的PROC
在调PROC时,有些参数变化很少,这时,可以给这些参数一个默认值,即使调用时不输入值,也会在存储过程中使用默认值,在很大程度上方便调。
IF(SELECT * FROM sysobjects WHERE Name ='proc_insertstu') DROP PROC proc_insertstu GO create pro proc_insertstu @stuname varchar(20), @stusex char(2)='男', @classid int =2 AS begin INSERT INTO stuinfoO(StuName,stusexmclassid) values(@stuname ,@stusex,@classid ) end go exec proc_insertstu'唐胜' exec proc_insertstu'‘‘ZHUBAJIE’@CLASSID=1
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式