我的sql账号只具有对存储过程PROC_InsertPeisPatient的执行权限,没有对表PeisPatient授权
平均执行7次,有6次正常执行完成
有1次报错:找不到对象 "PeisPatient",因为它不存在或者您没有所需的权限。求助各位帮忙看看可能的原因ALTER PROCEDURE [dbo].[PROC_InsertPeisPatient]
@IDCardNo VARCHAR(30),
@Input_Code VARCHAR(8),
@ID_Sex int,
@Sex varchar(8),
@BirthDate datetime,
@Age int,
@ID_AgeUnit int,
@AgeUnit varchar(8),
@AgeOfReal numeric(18,5),
@ID_Nation int,
@Nation varchar(16),
@Phone varchar(30),
@PatientName varchar(50),
@ExamSuite_Name varchar(50),
@ExamSuite_Alias varchar(100),
@F_Closed bit,
@ID_FeeType int,
@ID_Payway int,
@Payway varchar(20),
@F_FeeCharged bit,
@F_IsForPrepare bit,
@ID_ExamType int
AS
BEGIN
DECLARE @ID_Org int
set @ID_Org=12
declare @in_ID_Payway int
declare @in_Payway varchar(30)
set @in_ID_Payway=11
set @in_Payway=''
declare @ID_OpenDoctor int
set @ID_OpenDoctor=1394
declare @Org_Name varchar(50)
DECLARE @ID_OrgReservationGroup int
DECLARE @ID_OrgReservation int
select @Org_Name=PeisOrg.Org_Name,@ID_OrgReservation=PeisOrgReservation.ID_OrgReservation,@ID_OrgReservationGroup=PeisOrgReservationGroup.ID_OrgReservationGroup
from dbo.PeisOrg left join dbo.PeisOrgReservation on PeisOrg.ID_Org=PeisOrgReservation.ID_Org left join dbo.PeisOrgReservationGroup
on PeisOrgReservation.ID_OrgReservation=PeisOrgReservationGroup.ID_OrgReservation where PeisOrg.ID_Org=@ID_Org declare @NEW_PeisPatientID int
set @NEW_PeisPatientID=0
INSERT INTO dbo.PeisPatient
(IDCardNo,Input_Code,ID_Sex,Sex,BirthDate,Age,ID_AgeUnit,AgeUnit,AgeOfReal,ID_Nation,Nation,Phone,PatientName,
DateRegister,ExamSuite_Name,ExamSuite_Alias,F_Closed,ID_Org,ID_OrgReservation,ID_OrgReservationGroup,Org_Name,
ID_FeeType,ID_Payway,Payway,F_FeeCharged,F_IsForPrepare,ID_ExamType,ID_OpenDoctor,ID_ExamPlace,F_Registered,F_Paused,F_FinalExamed,
F_GuidancePrinted,F_ExamStarted,F_ReadyToFinal,F_FinalLocked,F_FinalApproved)
values(@IDCardNo,@Input_Code,@ID_Sex,@Sex,@BirthDate,@Age,@ID_AgeUnit,@AgeUnit,@AgeOfReal,@ID_Nation,@Nation,@Phone,@PatientName,
GETDATE(),@ExamSuite_Name,@ExamSuite_Alias,@F_Closed,@ID_Org,@ID_OrgReservation,@ID_OrgReservationGroup,@Org_Name,
@ID_FeeType,@in_ID_Payway,@in_Payway,@F_FeeCharged,@F_IsForPrepare,@ID_ExamType,@ID_OpenDoctor,5,1,0,0,
1,1,0,0,0) select @NEW_PeisPatientID=SCOPE_IDENTITY()select @NEW_PeisPatientID
END
GO
平均执行7次,有6次正常执行完成
有1次报错:找不到对象 "PeisPatient",因为它不存在或者您没有所需的权限。求助各位帮忙看看可能的原因ALTER PROCEDURE [dbo].[PROC_InsertPeisPatient]
@IDCardNo VARCHAR(30),
@Input_Code VARCHAR(8),
@ID_Sex int,
@Sex varchar(8),
@BirthDate datetime,
@Age int,
@ID_AgeUnit int,
@AgeUnit varchar(8),
@AgeOfReal numeric(18,5),
@ID_Nation int,
@Nation varchar(16),
@Phone varchar(30),
@PatientName varchar(50),
@ExamSuite_Name varchar(50),
@ExamSuite_Alias varchar(100),
@F_Closed bit,
@ID_FeeType int,
@ID_Payway int,
@Payway varchar(20),
@F_FeeCharged bit,
@F_IsForPrepare bit,
@ID_ExamType int
AS
BEGIN
DECLARE @ID_Org int
set @ID_Org=12
declare @in_ID_Payway int
declare @in_Payway varchar(30)
set @in_ID_Payway=11
set @in_Payway=''
declare @ID_OpenDoctor int
set @ID_OpenDoctor=1394
declare @Org_Name varchar(50)
DECLARE @ID_OrgReservationGroup int
DECLARE @ID_OrgReservation int
select @Org_Name=PeisOrg.Org_Name,@ID_OrgReservation=PeisOrgReservation.ID_OrgReservation,@ID_OrgReservationGroup=PeisOrgReservationGroup.ID_OrgReservationGroup
from dbo.PeisOrg left join dbo.PeisOrgReservation on PeisOrg.ID_Org=PeisOrgReservation.ID_Org left join dbo.PeisOrgReservationGroup
on PeisOrgReservation.ID_OrgReservation=PeisOrgReservationGroup.ID_OrgReservation where PeisOrg.ID_Org=@ID_Org declare @NEW_PeisPatientID int
set @NEW_PeisPatientID=0
INSERT INTO dbo.PeisPatient
(IDCardNo,Input_Code,ID_Sex,Sex,BirthDate,Age,ID_AgeUnit,AgeUnit,AgeOfReal,ID_Nation,Nation,Phone,PatientName,
DateRegister,ExamSuite_Name,ExamSuite_Alias,F_Closed,ID_Org,ID_OrgReservation,ID_OrgReservationGroup,Org_Name,
ID_FeeType,ID_Payway,Payway,F_FeeCharged,F_IsForPrepare,ID_ExamType,ID_OpenDoctor,ID_ExamPlace,F_Registered,F_Paused,F_FinalExamed,
F_GuidancePrinted,F_ExamStarted,F_ReadyToFinal,F_FinalLocked,F_FinalApproved)
values(@IDCardNo,@Input_Code,@ID_Sex,@Sex,@BirthDate,@Age,@ID_AgeUnit,@AgeUnit,@AgeOfReal,@ID_Nation,@Nation,@Phone,@PatientName,
GETDATE(),@ExamSuite_Name,@ExamSuite_Alias,@F_Closed,@ID_Org,@ID_OrgReservation,@ID_OrgReservationGroup,@Org_Name,
@ID_FeeType,@in_ID_Payway,@in_Payway,@F_FeeCharged,@F_IsForPrepare,@ID_ExamType,@ID_OpenDoctor,5,1,0,0,
1,1,0,0,0) select @NEW_PeisPatientID=SCOPE_IDENTITY()select @NEW_PeisPatientID
END
GO
由于该表的触发器操作表引起的,当自增长出来的数字包含4则再新增一条,弃用原来的行
触发器这样操作表,我的sql账号就会出现权限不足,而且要满足条件才触发..看起来就像间歇性权限混乱