sql简单函数用法
定义函数
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER function [dbo].[FunJSLC](@carid bigint,@date datetime)
returns decimal
as
begin
declare @jslc decimal
set @jslc=(select JSLC from BYReMIn where iCarID=@carid and dtDate=@date)
return(@jslc)
end
存储过程应用函数
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER proc [dbo].[BYProc]
as
declare @jglc decimal
select cCode,dtDate ,cLBName,dMoney ,JSLC=dbo.FunJSLC(iCarID,dtDate),
JGLC=(dbo.FunJSLC(iCarID,dtDate)-dbo.Funccclc(iCarID)),
CCLC=dbo.Funccclc(iCarID),cHandler,cUName,cBYXM,cMemo into #t from vBYB
select cCode as '车牌号',dtDate as '保养日期',cLBName as '保养类别',dMoney as '保养费用',
JSLC as '上次保养里程',CCLC as '当前里程',cHandler as '经手人',cUName as '保养单位',
cBYXM as '保养项目',cMemo as '备注'
from #t where CCLC>JSLC
dbo.FunJSLC(iCarID,dtDate)即函数FunJSLC的返回值
了解最基本的定义调用会用就OK
这样实现统计的时候就方便多了,用sql去处理,使程序代码简洁,有效率!
相关文档:
--oracle优化slq语句
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):
Oracle的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,您必须选择记录条数最少的表作为基础表。假如有3个以上的 ......
例子:
if 1<>1
begin
if 5<0
begin
print('失败')
end
else begin
&nbs ......
备份:
A. 备份整个 MyNwind 数据库
说明 MyNwind 数据库仅用于演示。
下例创建用于存放 MyNwind 数据库完整备份的逻辑备份设备。
......
在SQL Server 2005数据库中实现自动备份的具体步骤:
1、打开SQL Server Management Studio
2、启动SQL Server代理
3、点击作业->新建作业
4、"常规"中输入作业的名称
5、新建步骤,类型选T-SQL,在下面的命令中输入下面语句(红色部分要根据自己 ......
外键
======================
外键是相对于主键说的,是建立表之间 的联系的必须的前提。
比如:学生表 、学生成绩表一一对应是因为 他们都具有相同的字段:学号,把学生表作为主表,学号是他的主键,相对于主表来说,学生成绩的字段 学号就是学生表的外键。
没有外键,两个表就没办法建立联系啊! ......