if exists (select * from sysobjects where name='Add_Student_Info' and xtype='p') DROP PROCEDURE 'Add_Student_Info'
use db_student IF EXISTS (SELECT name FROM sysobjects WHERE name = 'add_student_info' AND type = 'P') DROP PROCEDURE add_student_info gocreate procedure Add_Student_Info ... type = 'P'这句什么意思??? type有没有等于其他的值?? 与的话,其他的值又是什么意思????
@student_no char(13) output
应该定义成可变长度的变量
应该是
@student_no varchar(13) output如果用char ,你SET第一次之后 后面的就再也加不上了,后面的会被截掉
declare @student_year smalldatetime
declare @student_no varchar(10)
set @student_year='2005-2-1'select @student_no='XH'+replace(convert(varchar(10),@student_year,120),'-','')print @student_no
这样子 有重名的就不能创建了
创建存储过程时,要是有存在同名的,就重新创建
那该怎么写????
if exists (select * from sysobjects where name='Add_Student_Info' and xtype='p')
DROP PROCEDURE 'Add_Student_Info'
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'add_student_info' AND type = 'P')
DROP PROCEDURE add_student_info
gocreate procedure Add_Student_Info
...
type = 'P'这句什么意思???
type有没有等于其他的值??
与的话,其他的值又是什么意思????
exec add_student_info '陈真','男',24,'计算机','计算机科学与技术','2003-06-26',
@student_no
select @student_no
怎么显示的是null????
又该如何显示变量@student_no的值呢????
可以是下列对象类型中的一种:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程
@student_no OUTPUT
这样试一下