数据库原理(十)--t-sql
来源:互联网 发布:js 同级下一个元素 编辑:程序博客网 时间:2024/05/21 12:47
一、变量定义变量declare @变量名称 类型[=默认值];变量赋值1、set @变量名称=value; 一次只能给1个变量赋予标量值2、select @变量名称=value;1次可以给多个变量赋值,可以通过查询赋值。二、输出信息1、print:1次只能输出1项信息2、select:1次可以输出多项信息三、控制结构1、begin...end:表示一个语句块,类似于{}2、if 、if...else、 if...else if...else3、while(条件) begin...[break|continue] end4、case [表达式]when ...else ... end五、局部变量与全局变量1、局部变量:用户自己所定义,使用一个@作为前缀。2、全局变量:系统所提供的,使用@@作为前缀。3、常用全局变量@@identity:获取标识列的值@@rowcount:获取受影响的行数@@error:获取错误号,0表示上一行语句无错误@@fetch_status:获取游标的状态六、常用函数1、日期函数getDate():获取当前日期year(时间):获取年数month(时间):获取月份day(时间):获取今天是几号DateAdd(datePart,number,date):在date上加上一个日期例如:DATEADD(day,7,regTime)>=GETDATE():表示1周以内DATEADD(day,7,regTime)<GETDATE():表示1周以外DateDiff(datepart,startTime,endTime):获取2个时间的差值DatePart(detepart,time):获取日期的某一部分2、数学函数abs(number):返回绝对值floor(number):返回小于等于当前数的整数ceiling(number):返回大于等于当前数的整数rand():返回0-1之间的随机数3、字符函数charIndex(searchStr,sourceStr,[startLength]):起始为1,找不到返回0str(number):把数字转换成字符串convert(targetType,参数):把参数转换成目标类型cast(expression1 as targetType):把表达式转换成目标类型replace(sourceStr,searchStr,replaceStr):替换字符串substring(sourceStr,startPosition,length):从statrPosition位置开始截取length个字符left(sourceStr,length):从左边截取指定长度字符right(sourceStr,length):从右边截取指定长度字符datalength(sourceStr):获取字符串的长度ltrim(sourceStr):去除左边空格rtrim(sourceStr):去除右边空格reverse(sourceStr):反转4、系统函数isDate(param):判断参数是否是日期isNumeric(param):判断参数是否是数字isNull(param1,newValue):判断参数是为为Null,如果为Null就把newValue赋值给参数5、自定义函数1)创建函数1、标量函数(返回基本类型)create function function_name(参数列表)returns 返回类型[with encryption|schemabinding]asbegin statementsend2、表值函数(返回类型为table)2.1语法:内联表值函数CREATE FUNCTION <函数名>(<参数>)Returns TABLE[WITH ENCRYPTION | SCHEMABINDING][AS]RETURN <select语句>2.2语法:多语句表值函数CREATE FUNCTION <函数名>(<参数>)Returns <表格变量名> TABLE (<表格变量定义>) [WITH ENCRYPTION | SCHEMABINDING][AS]BEGIN <SQL语句> returnEND2)修改函数语法与创建函数相同,只需把create换成alter3)删除删除drop function 函数名称七、存储过程由1组预编译的sql语句组成,存放在数据库中。1)优点1、节省网络流量2、提高了执行速度3、提高了安全性4、可以进行模块化设计2)创建存储过程CREATE PROC <存储过程名称> @parameter1 <数据类型> = <默认值>, @parameter2 <数据类型> = <默认值> OUTPUT ASBEGIN <代码块>END执行存储过程exec 存储过程名 参数...返回值的方式:1、使用输出参数返回2、使用return返回(只能返回int类型)3)修改存储过程把create换成alter4)删除存储过程drop proc 存储过程名称八、触发器语法:create trigger trigger_name on table_name[WITH ENCRYPTION]for|instead of [DELETE, INSERT, UPDATE]AS SQL语句九、游标:用于存储查询结果,通过指针移动读取数据。示例:--1、定义游标Declare acc_cursor cursor forward_only for select * from record --2、打开游标open acc_cursor--3、定义变量接收数据Declare @aid varchar(6),@ty varchar(6),@jine float ,@transt datet--4、先读取一行FETCH NEXT FROM acc_cursor INTO @aid,@ty,@jine,@transt --5、循环读取WHILE(@@FETCH_STATUS = 0)begin insert into record_back2 values(@aid,@ty,@jine,@transt) FETCH NEXT FROM acc_cursor INTO @aid,@ty,@jine,@transtend--6、关闭游标close acc_cursor--7、销毁游标deallocate acc_cursor
0 0
- 数据库原理(十)--t-sql
- T-SQL 语句(十)—— 事务
- 数据库入门—T-SQL(1)
- 数据库入门—T-SQL(2)
- T-SQL 创建数据库
- T-SQL 创建数据库
- T-sql创建数据库
- T-SQL存储过程 原理
- T-SQL语句还原数据库
- 数据库还原T-SQL脚本
- T-sql分离附加数据库
- T-sql分离附加数据库
- T-SQL数据库 建立触发器
- T—sql数据库操作
- T-SQL语句创建数据库
- T-Sql访问远程数据库
- T-SQL语句操作数据库
- 使用T-sql创建数据库
- 排序
- H2数据库使用
- yii2框架-yii2的asset资源包(十一)
- Eclipse工作空间的删除方法
- NodeJs——(3)和文件(fs)
- 数据库原理(十)--t-sql
- struct2 返回结果类型
- 【C/C++】浅谈sizeof
- Mysql:Can't connect to MySQL server on ‘localhost' (10061)
- java Socket网络通信简介
- 使用automatorX测试app页面响应时间
- 获取网络状态,区分2G3G4GWIFI等,非reachability
- Latex论文排版技巧再总结
- Android静态/动态注册广播的区别