存储过程在as后面declare是什么意思?

bluesun 2005-12-06 03:32:39
随便找了一个存储,学习一下

create proc getgzsecid @nextid char(8) output
as
declare @tmpd int
select @tmpd=isnull(max
(convert(int,substring(func_code,7,2))),0)+1
from funcframe where func_parent='010103'

if @tmpd<10 select @nextid='010103'+'0'+convert (char(1),@tmpd)
else select @nextid='010103'+convert(char(2),@tmpd)

GO

在as后面declare是什么意思?
...全文
1262 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zoubsky 2005-12-06
  • 打赏
  • 举报
回复 1
declare 就是定义一个局部变量
它的定义格式是:
declare 变量名称 数据类型
bluesun 2005-12-06
  • 打赏
  • 举报
回复
very good!!!
QQMagicer 2005-12-06
  • 打赏
  • 举报
回复
这个declare定义的是存储过程内部使用的变量,as前面声明的是传给存储过程的变量
这个区别相当于内外部变量的差异吧。内部定义的变量,外部不可以使用
wangdehao 2005-12-06
  • 打赏
  • 举报
回复 1
输入参数和输出参数是在as之前

存储过程中的变量在使用之前定义就行
bluesun 2005-12-06
  • 打赏
  • 举报
回复
定义变量不是要在as 前面吗?这里定义了有什么不同吗?
zlp321002 2005-12-06
  • 打赏
  • 举报
回复
--定义一个变量@tmpd

34,874

社区成员

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

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