테이블에 들어가는 값의 범위에 따라 점수를 계산하는 UDF가 있습니다.테이블 작성 중에 UDF 호출
UDF는 테이블 생성 프로세스 중에 적용/호출되어야하는데, 여기가 약간 문제가 있습니다.
UDF는 메서드 만 사용할 때 대/소문자를 사용하여 만들어야했기 때문에 그 부분을 많이 변경할 수는 없지만 조금만 벗어났습니다.
답변이 이미 존재하는지 아닌지는 잘 모르겠지만, 아직 답을 찾지 못해서 사과를하지 못했습니다. 여기
지금 여기에 내가 UDF는 회원의 정보를 필요-- Create Member_Profile table
create table Member_Profile
(
MemberID int primary key,
Gender varchar(6),
Name varchar(50),
Dob datetime,
Weight int,
Height int,
Smoker bit,
Salary int,
Cupid as dbo.cupidscoreUDF
)
GO
insert into Member_Profile (Gender, Name, Dob, Weight, Height, Smoker, Salary) values ('Male','James',19931115, 75, 180, 0, 80000);
insert into Member_Profile (Gender, Name, Dob, Weight, Height, Smoker, Salary) values ('Female','Rosie',19870912, 45, 150, 0, 100000);
insert into Member_Profile (Gender, Name, Dob, Weight, Height, Smoker, Salary) values ('Male','Richard',19630402, 95, 168, 1, 200000);
select * from Member_Profile
테이블 생성 과정에 대해 가지고 무엇
--Create UDF
create function [dbo].[cupidscoreUDF]
(
@gender char(1),
@name varchar(15),
@dob datetime,
@weight int,
@height int,
@smoker bit,
@salary int
)
returns int
as
begin
declare @score int
-- To determine age in years
declare @Age int
select @Age = DATEDIFF(YEAR, @dob, GETDATE())
select
@score = case
when @Age between 20 and 30 then 5
when @Age between 31 and 40 then 4
when @Age between 41 and 50 then 3
when @Age > 50 then 2
else 0
end
-- To determine the height/weight ratio
declare @WeightHeight int
set @WeightHeight = @weight/@height
set
@score = @score +
case
when @WeightHeight between 20 and 25 then 1
when @WeightHeight between 25 and 30 then 3
when @WeightHeight between 30 and 35 then 4
when @WeightHeight between 35 and 40 then 2
else 0
end
-- If non-smoker add 2 points
if @smoker = 0
set @Score = @Score + 2
-- To determine score by salary
set
@score = @score +
case
when @salary < 50000 then 1
when @salary between 500001 and 60000 then 2
when @salary between 60001 and 70000 then 3
when @salary > 70000 then 4
end
return @score
end
;
먼저 생성 된 UDF이며 다음 계산 자신의 '큐피드 '그 점수는 다른 모든 것과 함께 테이블에 삽입됩니다.
이
을 작동하려면 선언하고 당신이 필요하다고 생각 어떤 변수를 설정해야합니다, 당신의 UDF 나 빨리 당신이 충분히에 시작하는 주어 호출하는 트리거를 사용하여 테이블에 데이터 삽입 ... – Jesuraja
UDF는 7 개의 매개 변수를 예상합니다. 나는 그것을 전달할 필요가있다 – cha