0
次のsql関数で文字列を入力として受け取り、その文字列がcategoryNameと等しいかどうかをチェックします。if文がtrueの場合と同じように動作させます。それはループから破壊し、それは以下のSQLスクリプトのplzヘルプに新しいイム...私の関数がループする必要if(true)
USE [myDB]
GO
/****** Object: UserDefinedFunction [dbo].[udfisEqualToCategory] Script Date: 01/31/2011 10:57:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create FUNCTION [dbo].[udfisEqualToCategory](@word nvarchar(max))
RETURNS INT
AS
BEGIN
--declare a temp category table for data processing
declare @temptbl_category Table
(
indexx int identity(1,1),
categoryid int,
categoryname nvarchar(max)
)
--insert data from feedcrawler.category into temp category table
insert into @temptbl_category
select CategoryId,Name
from Category
--declare some variables to hold the data of current row of temp category table being processed while looping
declare @temp_catid int
declare @temp_catname nvarchar(max)
declare @rowcount int
set @rowcount=(select count(indexx)from @temptbl_category)
declare @I int
set @I=1
--print'given string-> '+ @FullName
--print'string length-> '+convert(nvarchar(max),@strlen)
while(@I <= @rowcount)
begin
select @temp_catname=categoryname,@temp_catid=categoryid from @temptbl_category where [email protected]
set @temp_catname=lower(@temp_catname)
if(@[email protected]_catname)
begin
return @temp_catid
break
end--end if
set @[email protected]+1
END--while loop ends
return 0
end-- function ends
GO
句読点を省略すると、入力時に時間が節約されますが、読むときには時間がかかりますいいえ、ちょうど観測を怒らせない –