as
begin
if @No <=1
return 0
declare @maxV int, @Index int
set @maxV = @No -1
set @Index = 2
while @Index < @maxV
begin
declare @maxV2 int,@Index2 int
set @maxV2 = @maxV
set @Index2 = @Index
while @Index2 < @maxV2
begin
if @Index2 * @Index = @No
select 0
set @Index2 = @Index2 + 1
end
set @Index = @Index + 1
end
select 1
end
dbo.ChkIntIsSuShu(13) -- 返回值1,表示素数,0表示非素数。
下面是创建函数的示例代码:DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `Fun_avg`(var_xs_id varchar(12), var_xn int) RETURNS float
BEGIN
DECLARE var_r float
SELECT AVG(tc_score) INTO var_r
FROM tc_scores
WHERE xs_id = var_xs_id AND xn = var_xn
RETURN var_r
END$$
DELIMITER
在上面的代码中,我们首先声明了一个返回值类型为 float 的变量 var_r。然后,我们使用 SELECT 语句查询 tc_scores 表中指定学号 var_xs_id 和指定学年 var_xn 的体测成绩的平均值,并将该平均值赋给 var_r。最后,我们使用 RETURN 语句将 var_r 的值返回给函数的调用者。
注意:在 MySQL 中,必须使用 DELIMITER 语句来改变默认的分号作为语句结束符的行为。因此,我们在创建函数时必须使用 DELIMITER 语句来指定自定义的分隔符(在本例中为 $$),并在函数结束后再次使用 DELIMITER 语句将分隔符恢复为默认值(即分号)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)