mssql方便的函数使用与游标使用练习

 

 

结果:

 

 

新建函数:

GO
/****** 对象:  UserDefinedFunction [dbo].[fun_get_class_nam]    脚本日期: 07/28/2012 07:26:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

/*****************************************************
** PROCEDURE : fun_get_class_nam
** DECRIPTION: 根据班级id获取班级名称
** DATE      : 2010-07-28
** VERSION      AUTH          DATE          DESC
** --------  ------------  ------------  -----------------
** V000.0.1    pukuimin		2010-07-28     新建程序
** --------  ------------  ------------  -----------------
*******************************************************/
alter function [dbo].[fun_get_class_nam](  @class_id bigint
								 )
returns varchar(200)
as
begin
	declare @class_nam varchar(200)
	set @class_nam = null
	select @class_nam = className
	  from classinfo
	 where classID = @class_id AND stat='1'

	return @class_nam
END

查询语句中使用函数:

SELECT
	id,
	username,
	userpwd,
	classID,
	dbo.fun_get_class_nam(classID) AS classname,
	score,
	age
FROM
	stuinfo

 

下面是游标的简单用法:

DECLARE cur CURSOR  --声明游标
FOR
SELECT score,age FROM stuinfo

Open cur  --打开游标

DECLARE @score int --接收游标数据的变量,与上面的声明游标查询语句的个数相同
DECLARE @age int 

fetch Next from cur into @score,@age  --查询一次数据到变量

WHILE (@@FETCH_STATUS = 0 )  --如果不为空就循环读取
BEGIN
    IF (@score<85 AND @age <18)  --对符合条件的进行操作
        UPDATE stuinfo SET score = 888
        WHERE  CURRENT OF cur
    FETCH Next FROM cur INTO @score,@age  --查询下一条
END
CLOSE cur   --关闭游标
DEALLOCATE cur  --释放游标

 

 

 

时间: 2024-10-25 09:34:10

mssql方便的函数使用与游标使用练习的相关文章

mssql server 数学函数实例(1/2)

MSSQL SERVER 2005 数学函数 1.求绝对值 ABS() select FWeight-50,ABS(FWeight-50),ABS(-5.38) from T_Person 2.求幂 POWER(X,Y) 用来计算X的Y次幂 select FWeight,POWER(FWeight,-0.5),POWER(FWeight,2), POWER(FWeight,3),POWER(FWeight,4) from T_Person select Power(2,2) 3.求平方根 SQR

mssql server 常用函数大全

select语句中只能使用sql函数对字段进行操作(链接sql server), select 字段1 from 表1 where 字段1.IndexOf("云")=1; 这条语句不对的原因是indexof()函数不是sql函数,改成sql对应的函数就可以了. left()是sql函数. select 字段1 from 表1 where charindex('云',字段1)=1; 字符串函数对二进制数据.字符串和表达式执行不同的运算.此类函数作用于CHAR.VARCHAR. BINAR

SQL server使用自定义函数以及游标_MsSql

编号 标准宗地编码(landCode) 所在区段编码(sectCode) 1 131001BG001 G001 2 131001BG002 G001 3 131001BG003 G001 4 131001BG004 G002 5 131001BG005 G003 现在需要将表中的数据转换为如下表所示结果: 编号 区段编码 包含的标准宗地 1 G001 131001BG001,131001BG002,131001BG003 2 G002 131001BG004 3 G003 131001BG005

SQL server使用自定义函数以及游标

编号 标准宗地编码(landCode) 所在区段编码(sectCode) 1 131001BG001 G001 2 131001BG002 G001 3 131001BG003 G001 4 131001BG004 G002 5 131001BG005 G003 现在需要将表中的数据转换为如下表所示结果: 编号 区段编码 包含的标准宗地 1 G001 131001BG001,131001BG002,131001BG003 2 G002 131001BG004 3 G003 131001BG005

PL/SQL --&amp;gt; 函数

--================== -- PL/SQL --> 函数 --==================       函数通常用于返回特定的数据.其实质是一个有名字的PL/SQL块,作为一个schema对象存储于数据库,可以被反复执行.函数通常被作为 一个表达式来调用或存储过程的一个参数,具有返回值.   一.建立函数的语法     CREATE [ OR REPLACE ] FUNCTION function_name         (argument1 [mode1] data

PL/SQL --&amp;gt;隐式游标(SQL%FOUND)

--=============================== -- PL/SQL -->隐式游标(SQL%FOUND) --===============================       在PL/SQL中,游标的使用分为两种,一种是显示游标,一种是隐式游标,显示游标的使用需要事先使用declare来进行声明,其过程包括 声明游标,打开游标,从游标提取数据,关闭游标.该方式多用于处理select语句返回的多行数据的情形.而隐式游标则由则由系统自动定义 ,当DML被使用时,Orac

PL/SQL --&amp;gt; 游标

--================== -- PL/SQL --> 游标 --==================   一.游标的相关概念及特性     1.定义         映射在结果集中某一行数据的具体位置,类似于C语言中的指针.即通过游标方式定位到结果集中某个特定的行,然后根据业务需求         对该行进行相应特定的操作.             2.游标的分类         显示游标:即用户自定义游标,专门用于处理select语句返回的多行数据         隐式游标:系

PostgreSQL Oracle 兼容性 之 TABLE、PIPELINED函数

标签 PostgreSQL , 返回表 , 返回复合类型 , 返回游标 背景 Oracle 通过table, pipelined函数,用于格式化返回类型为table的函数的结果. Table function concepts There a couple of steps to take when you are working with table functions. Like when you are working with normal tables you have to desc

PHP数组游标实现对数组的各种操作详解_php技巧

本文实例分析了PHP数组游标实现对数组的各种操作.分享给大家供大家参考,具体如下: 如何不用foreach实现对数组实现循环? 答:我们只需要模拟foreach就行了,数组在执行foreach循环的时候,是有一个游标指向当前数组循环到的值, 那如果我们能拿到这个游标,并且操作游标,使游标前进或者后退,那么我们就能不用foreach而实现循环数组 直接上代码,清晰直观: <?php $arr = array('你','若','安','好','便','是','晴','天'); //current()