《高性能的数据库》 第四讲 编程细节(2)
时间:2007-11-09 来源:不详 作者:迈克DB
begin
Select Case Cast(@i As Float)/2 When (@i/2) then Cast(@i As varchar(3)) '是双数'
else Cast(@i As varchar(3)) '是单数'
end
end
Set @i=@i 1
end
----------------------------------------------------------------------
以上代码判断20之内的单数与双数。
--懒虫 # SapphireStudio
精彩世界,尽在3腿软件网(www.chair3.com)!!
-----------------------------------------------------------------------
AA.d 返回值
Sample:
Create Proc spTest2
As
Return 22
Use the Sample
Declare @i int
Exec @i=spTest2
Select @i
AA.e 管理存储过程: 创建,修改,删除。
织梦好,好织梦
分别为:
Create Proc ... , Alter Proc ... , Drop Proc ...
BB、更高级的编程要素: a.系统存储过程 b.系统表 c.异常处理 d.临时表 e.动态SQL f.扩展存储过程 g.DBCC命令
哈哈,以下课程收费!!(玩笑,实际上打算放到后面去讲了。)
3、函数。
函数是SQL 2000的新功能。一般的编程语言都有函数,我就不用解释函数是什么东东了。:)
或许不少朋友会问:我用存储过程不就可以了么,我为什么要使用函数?
这里特别指出的一点:fn可以嵌套在Select语句中使用,而sp不可以。
这里不打算大批特批一番游标了,当然,在我的程序里面,基本抛弃了游标(这里特别说明,是“基本”!因为还是有很多地方费用导游表不可的。),转而采用了fn。游标太消耗资源了。受不了……我快要感动得要流泪了…
fn其实要比sp要简单得多。因为它的不确定性,从而也使他受到了不少的限制。
举个函数的小粒子:
Create Function fnTest ( @i int )
Returns bit
As
begin
Declare @b bit
if (Cast(@i As Float)/2)=(@i/2)
dedecms.com
Set @b= 1
else
Set @b= 0
Return @b
end
----------------------------------------------------------------------
以上代码判断@i是单数还是双数。
--懒虫 # SapphireStudio
精彩世界,尽在3腿软件网(www.chair3.com)!!
-----------------------------------------------------------------------
Use the Sample:
Create Table #TT( fd1 int)
Declare @i int
Set @i=0
While @i<=20
begin
Insert Into #tt Values(@i)
Set @i=@i 1
end
Select fd1,
'是否双数'=dbo.fnTest(fd1) --在这里调用了函数,注意哈:函数之前一定要加上他的owner.
From #tt
Drop Table #tt
----------------------------------------------------------------------
上一篇:ORACLE应用经验(1) 下一篇:《高性能的数据库》 第四讲 编程细节(1)
文章评论
共有位Admini5网友发表了评论 查看完整内容