本人有一个存储过程,是用作插入数据表操作的.但插入数据时,里面有一个字段的值需要从另一个存储过程调用.怎么做呢?例如:我需要分别把:id,age,两个字段插入表.但age...
本人有一个存储过程,是用作插入数据表操作的.但插入数据时,里面有一个字段的值需要从另一个存储过程调用.怎么做呢?例如:
我需要分别把:id,age,两个字段插入表.但age这个值需要从另一个存储过程才能得到.怎么做呢?谢谢!
不行哦,我运行了一条存储过程生成了记录,怎样再用另一个存储过程去update我的JoinAge字段呢?我的存储过程如下.
alter proc InsertDepartmentRaises(@DepartmentCode varchar(50),@TakeEffectDate datetime)
as
insert into raises(Employeeid,Number,ChineseName,DepartmentCode,DepartmentName,
Salary,NewSalary,TakeEffectDate,AddDate,Age,JoinAge,ManagerAge,Behave,Remark,Effect)
Select e.Employeeid,e.Number,e.ChineseName,e.DepartmentCode,d.DepartmentName,
s.Salary,r.NewSalary,@TakeEffectDate as 'TakeEffectDate',getdate() as 'AddDate',r.Age,r.JoinAge,r.ManagerAge,r.Behave,r.Remark,r.Effect
From Employees e INNER JOIN Departments d ON e.DepartmentCode=d.DepartmentCode
INNER JOIN EmployeeSalary s ON e.Employeeid=s.Employeeid
LEFT JOIN Raises r ON e.Employeeid=r.Employeeid where d.DepartmentCode=@DepartmentCode and e.incumbencyStatus <> '1 - 离职' order by d.departmentcode
GO
当然是调用另一个过程了
可以这样
create procedure proc1 @id char(10) output
as
begin
select @id = id from table
end
这样调用
declare @id char(10)
exec proc1 @id output--不要掉了output
这样现在的@id存有proc1生成的数据了
---------------------------------------------
也可以这样
create procedure proc1
as
begin
declare @id char(10)
select @id = id from table
return @id
end
调用时有所区别
declare @id char(10)
exec @id = proc1