Sqlserver中存储过程,触发器,自定义函数(二)
Sqlserver中存储过程,触发器,自定义函数:
自定义函数:
1.函数类型;
2.函数的参数和返回值;
1.函数类型:
标量值函数,返回的是一个标量值
表值函数:
内联表值函数;
多语句表值函数。
标量值函数:
go
create function SumOrders(@职工号 varchar(20))--指定参数名,和返回类型 stuNo
returns int --指定返回类型
begin
declare @订单总数 int --学生人数sumstudent
select @订单总数=count(订单.订单号) from
订单 join 职工 on 订单.职工号=职工.职工号
where 职工.职工号=@职工号
return @订单总数
end select dbo.SumOrders('E4') go
alter function SumStudent(@stuNo int)--指定参数名,和返回类型 stuNo
returns int --指定返回类型
begin
declare @sumS int --学生人数sumstudent
select @sumS=count(*) from stuInfo
where stuNo>=@stuNo
return @sumS
end
go
select dbo.SumStudent(4) as 总数
--eg2:创建内联表值函数
create function SelectOrdersByTime(@起始时间 datetime,@终止时间 datetime)
returns table
return select * from 订单 where
订单日期 between @起始时间 and @终止时间 go
select * from SelectOrdersByTime('2003-01-01','2003-07-01')
--=======================
go
create function SelectinfoByTime(@起始时间 int,@终止时间 int)
returns table
return select * from stuInfo where
stuNo between @起始时间 and @终止时间 go
select * from SelectinfoByTime(1,9)
--eg3:创建多语句表值函数
create function MingDan()--无参函数
returns @名单 table
(
编号 int identity(1,1) not null,
姓名 nvarchar(10) not null
)
begin
insert @名单
select 供应商编号,姓名 from 供应商
insert @名单
select 职工编号,姓名 from 职工
return
end
go
select * from MingDan() --eg4:自定义函数生成默认值:
go
create function Default_Num()
returns varchar(7)
begin
declare @编号 varchar(7)
declare @id int
select top 1 @编号=编号 from testorder by 编号 desc
if @@rowcount=0
set @编号='TCP_001'
else
begin
set @id=cast(substring(@编号,5,3)asint) + 1
set @编号='TCP_' + replicate('',3-len(@id)) +cast(@idasvarchar(3))
end
return @编号
end
--eg4:自定义函数生成默认值:
create function Default_Num()
returns varchar(7)
begin
declare @编号 varchar(7)
declare @id int
select top 1 @编号=编号 from testorder by 编号 desc
if @@rowcount=0
set @编号='TCP_001'
else
begin
set @id=cast(substring(@编号,5,3)asint) + 1
set @编号='TCP_' + replicate('',3-len(@id)) +cast(@idasvarchar(3))
end
return @编号
end
Sqlserver中存储过程,触发器,自定义函数(二)的更多相关文章
- SQL中存储过程和自定义函数的区别
存储过程: 存储过程可以使得对数据库的管理.以及显示关于数据库及其用户信息的工作容易得多.存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理.存储过程存储在 ...
- SQL中存储过程和自定义函数的区别(转载)
存储过程: 存储过程可以使得对数据库的管理.以及显示关于数据库及其用户信息的工作容易得多.存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理.存储过程存储在 ...
- C# 得到sqlserver 数据库存储过程,触发器,视图,函数 的定义
经常从 生产环境 到测试环境, 需要重新弄一整套的数据库环境, 除了表结构以及表结构数据,可以用动软代码生成器 生成之外, 像 存储过程,触发器,等,好像没有批量操作的,意义哥哥农比较麻烦, 所以最近 ...
- Sqlserver中存储过程,触发器,自定义函数(一)
Sqlserver中存储过程,触发器,自定义函数 1.存储过程有关内容存储过程的定义:存储过程的分类:存储过程的创建,修改,执行:存储过程中参数的传递,返回与接收:存储过程的返回值:存储过程使用游标. ...
- Sqlserver中存储过程,触发器,自定义函数
Sqlserver中存储过程,触发器,自定义函数: 1. 触发器:是针对数据库表或数据库的特殊存储过程,在某些行为发生的时候就会被激活 触发器的分类: DML触发器:发生在数据操作语言执行时触发执行的 ...
- SqlServer中存储过程 returnC#代码处理以及对应的MySQL如何改写
一.SqlServer 中 1. 创建表 create table testuser( id int, --primary key, names ), address ), paw ) ) 2.创建存 ...
- MySQL存储过程和自定义函数、Navicat for mysql、创建存储过程和函数、调用存储过程和函数的区别
1 MySQL存储过程和函数 过程和函数,它们被编译后保存在数据库中,称为持久性存储模块(Persistent Stored Module,PSM),可以反复调用,运行速度快. 1.1 存储过程 存储 ...
- MySQL存储过程/存储过程与自定义函数的区别
语法: 创建存储过程: CREATE [definer = {user|current_user}] PROCEDURE sp_name ([ proc_parameter [,proc_parame ...
- (转)MySQL存储过程/存储过程与自定义函数的区别
转自:http://www.cnblogs.com/caoruiy/p/4486249.html 语法: 创建存储过程: CREATE [definer = {user|current_user}] ...
随机推荐
- python pydoc
pydoc是Python自带的模块,主要用于从python模块中自动生成文档,这些文档可以基于文本呈现的.也可以生成WEB 页面的,还可以在服务器上以浏览器的方式呈现! windows powersh ...
- 2016国赛B题小区数据爬取软件
-------------------------请以任何方式留言给作者,否则视为窃取----------------------------- 看你们找数据找的那么辛苦 我就苦逼的花了1个小时写了个 ...
- WAMP Server助你在Windows上快速搭建PHP集成环境
WAMP Server助你在Windows上快速搭建PHP集成环境 原文地址 我想只要爬过几天网的同学都会知道PHP吧,异次元的新版本就是基于PHP的WordPress程序制造出来的,还有国内绝大部分 ...
- [extjs] ExtJS4 treepanel 子节点选中父节点自动选中,选中父节点 子节点自动全部选中
ExtJS4 treepanel 主要添加viewConfig重的代码: xtype:'treepanel', store: menuStore, id:'menuTreePanel', viewCo ...
- TP控制器(Controller)
控制器的一些方法: Maincontroller.class.php文件: <?php namespace Home\Controller; use Think\Controller; clas ...
- PHP 生成指定大小随机图片
PHP 生成指定大小随机图片 <?php $image_width = 100; $image_height = 100; $image_str = ''; if (isset($_GET['w ...
- 通过profile 用maven命令打不同配置的变量包
profiles定义如下 <profiles> <profile> <id>local</id> ...
- c#处理3种json数据的实例
网络中数据传输经常是xml或者json,现在做的一个项目之前调其他系统接口都是返回的xml格式,刚刚遇到一个返回json格式数据的接口,通过例子由易到难总结一下处理过程,希望能帮到和我一样开始不会的朋 ...
- oracle学习笔记(四)oracle内存优化
emca -config dbcontrol db -repos recreate 解决'oracle Environment variable ORACLE_SID not defined. Ple ...
- go与c++链接示例
go lang与c/c++的链接示例: foo.hpp //foo.hpp #ifndef _FOO_HPP_ #define _FOO_HPP_ template<typename T> ...