对比下面两段存储过程:
1、
ALTER procedure [dbo].[proc_GetUserID] @user_ID varchar(20) AS select User_ID from Teacher_User whereUser_ID=@user_ID
2、
ALTER procedure [dbo].[proc_GetUserID] ASdeclare @user_ID varchar(20) select User_ID from Teacher_User whereUser_ID=@user_ID
首先做个语法上的说明,第二段的 as 后必须跟上declare 声明字段,否则会有语法错误。
这两段存储过程在写法上的差别主要是 as 位置的不同,在用vb.net的数据访问层调用的时候,第一段要求提供参数(@user_ID );第二段这种写法没有参数传入,如果提供了参数,会提示错误。
由上可见,这两种写法是两种不同的存储过程类型,第一种:带参数;第二种:不需要参数。