在sqlserver存储过程如何通过条件来判断是否调用另外一个存储过程? 5

为什么要报这样的储物哦无法为当前对象而将行添加到sysdepends,因为此对象所依赖的对象'proc_attendance_initial'缺失。仍将创建此对象怎样解决... 为什么要报这样的储物哦无法为当前对象而将行添加到 sysdepends,因为此对象所依赖的对象 'proc_attendance_initial' 缺失。仍将创建此对象
怎样解决这个问题

if exists (select * from dbo.sysobjects where id = object_id(N'proc_data_initial') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure dbo.proc_data_initial
go
create procedure dbo.proc_data_initial
@hrid int = 1,
@usercode varchar='superuser',
@mode int = 0
WITH ENCRYPTION
as
BEGIN
-----执行考勤休假--------------
if exists (select * from dbo.sysobjects where id = object_id(N'proc_attendance_initial') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
begin
exec proc_attendance_initial @hrid,@usercode
end
END
GO
展开
 我来答
匿名用户
2014-04-18
展开全部
问题原因: 因为你在创建proc_data_initial的时候, 存储过程proc_attendance_initial并没有提前创建, 但是这个不影响存储过程proc_data_initial的创建(因为还没有调用, 只是创建而已).

解决方法: 先创建存储过程proc_attendance_initial, 再创建存储过程proc_data_initial的时候, 就不会再报那个错误了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
micro0369
2014-04-18 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:3960万
展开全部
因为编译的时候,proc_attendance_initial 不一定存在,那么应该用动态sql

大致是这样,具体你自己调:

EXEC SP_EXECUTESQL N(‘proc_attendance_initial ’+@hrid+‘,’+@usercode)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式