问个简单问题create or replace 在sql server 里该怎么写
1个回答
展开全部
sql server里面只有create没有or replace ,和Oracle的语法还是有很多差别的。给你个创建存储过程的案例
SQL Server语法:定义和调用一个基本的存储过程的语法
use Student_Info -- 指定使用哪个数据库这样上下文信息才有效
go
CREATE PROCEDURE Mychu_Schema.DELETE_DEPT
@l_student_no VARCHAR(4), -- 存储过程的第一个参数,默认是输入参数,参数竟然是这样设置的,有点奇怪
@l_student_name varchar(100) output -- 存储过程的第二个参数是输出参数,要显示的加上output关键字
AS -- 和Oracle语法有很大区别,SQL Server存储过程可以代替Oracle的函数和存储过程,这里的分隔符关键字是as
select @l_student_name = student_name from Mychu_Schema.HAND_STUDENT where student_no = @l_student_no
update Mychu_Schema.HAND_STUDENT set STUDENT_AGE =STUDENT_AGE-1 WHERE student_no = @l_student_no
RETURN @@ROWCOUNT -- 返回上次sql语句所影响的数据行数
GO
drop PROCEDURE Mychu_Schema.DELETE_DEPT -- 删除存储过程的语法
-- 执行一个存储过程不需要使用一个匿名块
declare @l_student_no VARCHAR(4)
declare @l_student_name varchar(100)
declare @l_count numeric(2)
set @l_student_no ='s001'
exec @l_count = Mychu_Schema.DELETE_DEPT @l_student_no,@l_student_name output -- 直接在存储过程的后面加上参数,用逗号隔开
print @l_student_name
print @l_count
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询