第三章 t-sql程序设计基础 批处理与用户自定义函数
2010-08-10 15:20
204 查看
批处理 指包含一条或多条t-sql语句的语句组,这组语句从应用程序一次性的发送到sql server服务器执行
执行单元 sql server服务器将此批处理语句编译成一个可执行单元,这种单元成为执行单元
若批处理中的某条语句编译出错,则无法执行.若运行出错,则视情况而定
书写批处理时,go语句作为批处理命令的结束标志.当编译读取到go语句时,会把go语句前面所有的语句当做一个批处理,并将这些语句打
包发送给服务器.
go语句本身不是t-sql语句的组成部分,它只是一个用于表示批处理结束的前段指令
建立批处理时,注意 create default create rule create trigger create view等语句在同一个批处理中只能提
交一个.
不能再删除一个对象之后,在同一批处理再次引用这个对象.
不能把规则和默认值绑定到表字段或者自定义字段上之后,立即在同一个批处理中使用他们
不能定义check约束之后,立即在同一个批处理中使用
不能修改表中一个字段名之后,立即在同一个批处理中引用这个新字段
使用set语句设置的某些set选项不能应用于同一个批处理中的查询
若批处理中第一个语句是执行某个存储过程的execute语句,则execute关键字可以省略.若该语句不是第一个语句,则必须写上
用户自定义函数
use pangu
go
create function WorkYearWage(@hiredate datetime,@today datetime,@per_wage money)
returns money
as begin
declare @WorkYearWage money
set @WorkYearWage=(year(@today)-year(@hiredate))* @per_wage
return (@WorkYearWage)
end
go
调用函数
select pangu.dbo.workyearwage('1991-7-1',getdate(),15) as work_year_wage
创建内嵌表值用户自定义函数
use sample
go
create function orderfirms(@productid varchar(30))
return table
as
return (select * from products p where p.p_id = @ productid)
go
注意一点:一定不要把if ... exists和聚合函数一起使用,因为聚合函数总是返回数据,即使数据是0.
例如;if exists(select count(*) from titles where pub_id=’9933’)
对于exists来说,即使是0,他也认为是真.只要有值就为真
执行单元 sql server服务器将此批处理语句编译成一个可执行单元,这种单元成为执行单元
若批处理中的某条语句编译出错,则无法执行.若运行出错,则视情况而定
书写批处理时,go语句作为批处理命令的结束标志.当编译读取到go语句时,会把go语句前面所有的语句当做一个批处理,并将这些语句打
包发送给服务器.
go语句本身不是t-sql语句的组成部分,它只是一个用于表示批处理结束的前段指令
建立批处理时,注意 create default create rule create trigger create view等语句在同一个批处理中只能提
交一个.
不能再删除一个对象之后,在同一批处理再次引用这个对象.
不能把规则和默认值绑定到表字段或者自定义字段上之后,立即在同一个批处理中使用他们
不能定义check约束之后,立即在同一个批处理中使用
不能修改表中一个字段名之后,立即在同一个批处理中引用这个新字段
使用set语句设置的某些set选项不能应用于同一个批处理中的查询
若批处理中第一个语句是执行某个存储过程的execute语句,则execute关键字可以省略.若该语句不是第一个语句,则必须写上
用户自定义函数
use pangu
go
create function WorkYearWage(@hiredate datetime,@today datetime,@per_wage money)
returns money
as begin
declare @WorkYearWage money
set @WorkYearWage=(year(@today)-year(@hiredate))* @per_wage
return (@WorkYearWage)
end
go
调用函数
select pangu.dbo.workyearwage('1991-7-1',getdate(),15) as work_year_wage
创建内嵌表值用户自定义函数
use sample
go
create function orderfirms(@productid varchar(30))
return table
as
return (select * from products p where p.p_id = @ productid)
go
注意一点:一定不要把if ... exists和聚合函数一起使用,因为聚合函数总是返回数据,即使数据是0.
例如;if exists(select count(*) from titles where pub_id=’9933’)
对于exists来说,即使是0,他也认为是真.只要有值就为真
相关文章推荐
- 第三章 t-sql程序设计基础 批处理与用户自定义函数
- 第三章 t-sql程序设计基础 游标
- 第三章 t-sql程序设计基础 游标
- SQL Server初探——T-SQL程序设计基础
- 《软件设计师》——程序设计语言与语言处理程基础
- 七、t_sql程序设计基础
- 第三章:Java基础程序设计(中)
- Oracle数据库之PL/SQL程序设计基础
- javascript高级程序设计学习笔记--第三章对象基础
- PL/SQL程序设计 第五章 异常错误处理
- 第三章:Java基础程序设计(上)
- SQL基础操作_5_字符串处理
- PL/SQL程序设计 第三章 PL/SQL流程控制语句
- Windows程序设计零基础自学_4_Windows程序的显示和更新_之滚动条处理
- SQL基础_第三章 删除和更改
- T-SQL程序设计基础
- T-SQL程序设计基础
- Oracle PL/SQL开发基础(第三十六弹:异常处理的一些经验)
- PL/SQL程序设计基础语法详解(一)
- Python程序设计与算法基础教程·第三章上机实践