SQLServer数据库实用技术(17)
时间:2007-12-23 来源:不详 作者:迈克DB
READTEXT 命令用于从数据类型为TEXT、NTEXT 或IMAGE 的列中读取数据。命令从偏移位置offset 1 个字符起读取size 个字符,假如size 为0, 则会读取4KB 的数据。其中text_pointer 是指向存储文本的第一个数据库页的指针,它可以用TEXTPTR()函数来获取。关于TEXTPTR ()函数的使用请参见“4.8.7 TEXT 和IMAGE 函数”。HOLDLOCK 选项用于锁定所读取的数据直到传输结束,这段时间内,其它用户只能读取数据,不能更改数据。
例4-19:
use pangu
declare @t_pointer varbinary (16)
select @t_pointer = textptr (d_intro)
from department
where d_name = '技术部'
readtext department.d_intro @t_pointer 0 42
运行结果如下:
d_intro
--------------------------------------------------------------------
进行技术研究与开发,提供最新的技术动态信息
(1 row (s) affected)
注重:假如数据列为汉字,则offset值应取o或其它偶数,假如用奇数,则会出现乱码
4.7.10 RESTORE
RESTORE 命令用来将数据库或其事务处理日志备份文件由存储介质回存到SQL Server系统中。SQL Server 7.0 以前的版本用的是LOAD命令来执行此功能,从SQL Server 2000起,不再使用LOAD 命令。关于RESTORE 命令的详情,请参见“数据备份与恢复”章节 copyright dedecms
4.7.11 SELECT
SELECT 命令可用于给变量赋值其语法如下:
SELECT {@local_variable = expression } [ ...n]
SELECT 命令可以一次给多个变量赋值。当表达式expression 为列名时,SELECT 命令可利用其查询功能一次返回多个值,变量中保存的是其返回的最后一个值。假如SELECT命令没有返回值,则变量值仍为其原来的值。当表达式expression 是一个子查询时,假如子查询没有返回值则变量被设为NULL。
例4-20:
use pangu
declare @x char (30)
select @x = 'CPU'
select @x = d_name
from department
where dept_id = 9999
select @x
运行结果如下:
-----------------------
CPU
例4-21:
use pangu
declare @x char 30
select @x = 'Main Board'
select @x = (select d_name
from department
where dept_id=9999)
select @x
运行结果如下
-----------------------
NULL
dedecms.com
4.7.12 SET
SET 命令有两种用法:
1 用于给局部变量赋值
其语法如下:
SET { {@local_variable = expression} | { @cursor_variable =
{ @cursor_variable cursor_name
| { CURSOR
[FORWARD_ONLY | SCROLL]
[STATIC | KEYSET | DYNAMIC | FAST_FORWARD]
[READ_ONLY | SCROLL_LOCKS | OPTIMISTIC]
[TYPE_WARNING]
FOR select_statement
[FOR {READ ONLY
| UPDATE [OF column_name [ ...n]] } ] } } } }
其中的CURSOR 等参数将在“游标”一章中讲述。
在用DECLARE 命令声明之后,所有的变量都被赋予初值NULL。 需要用SET 命令来给变量赋值。但与SELECT 命令不同的是,SET 命令一次只能给一个变量赋值。不过由于SET 命令功能更强,且更严密,因此,SQL Server 推荐使用SET 命令来给变量赋值。 织梦内容管理系统
例4-22
declare @x char (30)
set @x = 'This is a SET command.'
select @x
运行结果如下
------------------------------
This is a SET command.
例4-23
use pangu
declare @department_num int @x char (10)
set @department_num = select count (*)
文章评论
共有位Admini5网友发表了评论 查看完整内容