sql server 2000 存储过程变量问题

Jack_Yin 2008-07-15 03:41:48
请看代码:
这段代码是求三个数中最大的一个,问题是关于变量的,什么时候要用delcare,什么时候不需要?
另外:大家能推荐下专门T-SQL语言教程的书么,谢谢啦???

create proc zfproc1
@x1 int,--此处不需要declare
@x2 int,
@x3 int
as
begin
declare @max int --此处需要delclare
if @x1>@x2
set @max=@x1
else
set @max=@x2
if @x3>@max
set @max=@x3
print '三个数中最大的数是:'+cast(@max as varchar(50))
end


...全文
300 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
看一些类似数据库高级编程之类的书先
Mars.xj 2008-07-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fcuandy 的回复:]
declare是声明变量,一般用在自己的语句体中。
而不需要声明的一般是参数,是语法要求的,比如函数,存储过程等等的参数。当然,还包括全局变量。
[/Quote]

参考书就就sql的联机丛书最好了,关键是你怎么去认识,还是方法的问题了。
ChinaJiaBing 2008-07-15
  • 打赏
  • 举报
回复

create procedure Temp1
@a int,
@b int,
@c int
as
begin
declare @Max int
if @a>=@b
set @Max = @a
if @a<=@c
set @Max=@c
if @a<@b
set @Max= @b
if @b<@c
set @Max=@c
Print @Max
end




Jack_Yin 2008-07-15
  • 打赏
  • 举报
回复
谢谢.
wwwtyb 2008-07-15
  • 打赏
  • 举报
回复
我看得是SQL宝典 还不错 推荐下....................

create proc zfproc1
@int_i int --写参数不用declare
as
begin
declare @chvn_var varchar(50) --这里声明变量要用declare,比如
end
hery2002 2008-07-15
  • 打赏
  • 举报
回复
T-SQL权威指南
hery2002 2008-07-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fcuandy 的回复:]
declare是声明变量,一般用在自己的语句体中。
而不需要声明的一般是参数,是语法要求的,比如函数,存储过程等等的参数。当然,还包括全局变量。
[/Quote]
推荐的书....
T-SQL参考.
fcuandy 2008-07-15
  • 打赏
  • 举报
回复
declare是声明变量,一般用在自己的语句体中。
而不需要声明的一般是参数,是语法要求的,比如函数,存储过程等等的参数。当然,还包括全局变量。
playwarcraft 2008-07-15
  • 打赏
  • 举报
回复
SQL online book,自帶的,也是最好的基础书
areswang 2008-07-15
  • 打赏
  • 举报
回复
create proc zfproc1
@x1 int,--此处不需要declare
@x2 int,
@x3 int
存储过程的参数.
wzy_love_sly 2008-07-15
  • 打赏
  • 举报
回复
create proc zfproc1 
--写参数不用declare
as
begin
--这里声明变量要用declare,比如
declare @s varchar(50)
end

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧