问个简单问题create or replace 在sql server 里该怎么写

 我来答
节子不哭
2017-07-31 · TA获得超过461个赞
知道小有建树答主
回答量:340
采纳率:85%
帮助的人:167万
展开全部

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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式