を返す関数を作ろうとしたのですが、内部でvarchar
使っているので作れませんCREATE TABLE
し、手続きで作っていると値を返すことができません。
何かアドバイスがあれば知りたかったです。
「;」で区切られた電子メールで文字列を作成するためだけにこれを作成しました そのため、すべての「マネージャー」メールを 1 つの varchar (受信者用) に含めることができます。
ALTER procedure [dbo].[Manager_email]
AS
BEGIN
declare @mails varchar (max),
@number_of_mails int,
@counter int
set @counter=2
create table #temp ( id int identity, email varchar(30))
insert into #temp (email)
select Email
from hr.Employees
where lower (EmpRole) like 'manager'
set @number_of_mails=@@ROWCOUNT
set @mails = (select email from #temp where id =1 ) + ';'
while @counter <= @number_of_mails
BEGIN
set @mails = @mails + (select email from #temp where id =@counter ) + ';'
set @counter = @counter+1
END
drop table #temp
return cast (@mails as varchar (200))
END