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'',''
--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
`调用时可以传值也可以不传
Sql Server Proc 先看看简单吧的更多相关文章
- sql server 公共表达式的简单应用(cte)
一.前言 现在做项目数据访问基本都会选择一种orm框架,它以面向对象的形式屏蔽底层的数据访问形式,让开发人员更集中在业务处理上,而不是和数据库的交互上,帮助我们提高开发效率:例如一些简单的insert ...
- 自动化安装SQL Server+SP就那么简单
随着业务.企业规模的日益壮大,DB的数量也在不断增多,配置一台新增DB,从服务器的参数配置,磁盘阵列规划,DB安装部署,DB参数调优等等一列步骤下来,手工操作的效率变得越来越低,因为我负责的数据库近些 ...
- SQL server 数据库 操作及简单查询
使用SQL Sever语言进行数据库的操作 常用关键字identity 自增长primary key 主键unique 唯一键not null 非空references 外键(引用) 在使用查询操作数 ...
- 动化安装SQL Server+SP就那么简单
随着业务.企业规模的日益壮大,DB的数量也在不断增多,配置一台新增DB,从服务器的参数配置,磁盘阵列规划,DB安装部署,DB参数调优等等一列步骤下来,手工操作的效率变得越来越低,因为我负责的数据库近些 ...
- SQL Server Mobile/Compact Edition 简单介绍
除了SQL Server Express,SQL Server还有个更轻量级的版本:SQL Server Compact Edition,容易让人想起Windows Compact Edition ( ...
- SQL Server 的表数据简单操作(表数据查询)
--表数据查询----数据的基本查询-- --数据简单的查询--select * | 字段名[,字段名2, ...] from 数据表名 [where 条件表达式] 例: use 商品管理数据库 go ...
- 菜鸟级asp.net 与ms sql server数据库打交道的简单总结
using System.Data.SqlClient;using System.Data; 上面是必须的 下面说的都是用存储过程 首先是webconfig里面的连接字符串: <connecti ...
- sql server 备份与恢复系列三 简单恢复模式下的备份与还原
一.概述 前面讲了备份的一些理论知识,这篇开始讲在简单恢复模式下的备份与还原.在简单模式下是不能做日志备份的,发生灾难后,数据库最后一次备份之后做的数据修改将是全部丢失的,所以在生产环境下,数据又很重 ...
- 关于sql server的一种简单用法——在上面写查询语句,即可在下面修改数据
选择数据库中的表,右键单击-->编辑前200行,然后在显示的页面中选择带SQL标志的图标
随机推荐
- 【java面试】线程篇
1.什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位. 2.线程和进程有什么区别? 线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任 ...
- IntelliJ IDEA编辑文件的时候CPU飙高问题的解决
原文地址:https://www.javatang.com/archives/2018/04/26/25582403.html 上篇文章中说明了解决IntelliJ IDEA中文输入法无提示的问题,最 ...
- 优雅写Java之二(数组集合流)
一.数组 二.集合 三.流 学习整理中,本文待补充--
- 浅谈openresty
浅谈openresty 为什么会有OpenResty? 我们都知道Nginx有很多的特性和好处,但是在Nginx上开发成了一个难题,Nginx模块需要用C开发,而且必须符合一系列复杂的规则,最重要的用 ...
- IDEA | 识别不出自建webapp文件夹
背景: 今天自建了一个webapp文件夹,发现idea识别不出来是web应用的资源文件夹 解决方案 打开project structure配置,如下图
- 【编程的乐趣-用python解算法谜题系列】谜题一 保持一致
谜题一 保持一致 谜题 假设有一大群人排队等待观看棒球比赛.他们都是主场球迷,每个人都戴着队帽,但不是所有人都用同一种戴法,有些人正着戴,有些人反着戴. 假定你是保安,只有在全组球迷帽子戴法一致时才能 ...
- 文件系统(02):基于SpringBoot框架,管理Xml和CSV文件类型
本文源码:GitHub·点这里 || GitEE·点这里 一.文档类型简介 1.XML文档 XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.标记指计算机所能理解的信息符号,通过 ...
- OpenCV3入门1—环境搭建与实验
1.环境搭建 1.1 VS2017开发环境搭建 1).下载软件包 https://opencv.org/ 2).配置环境变量 配置win10系统环境变量,把下面路径添加到path. D:\WORK\5 ...
- Spring(五)核心容器 - 注册 Bean、BeanDefinitionRegistry 简介
目录 前言 正文 1.BeanDefinitionRegistry 简介 2.registerBeanDefinition 方法注册 Bean 最后 前言 上篇文章我们对 BeanDefinition ...
- JAVA中CLASS.FORNAME的含义
Class.forName(xxx.xx.xx) 返回的是一个类, .newInstance() 后才创建一个对象 Class.forName(xxx.xx.xx);的作用是要求JVM查找并加载指定的 ...