设为首页
联系站长
加入收藏

您的位置: 首页>>IT业界>>互联网>>正文
 sql 其它命令
 日期:2005-6-1 10:09:34  来源:100down.com
4.7.1 BACKUP
BACKUP 命令用于将数据库内容或其事务处理日志备份到存储介质上(软盘、硬盘、磁带)。等SQL Server 7.0 以前的版本用的是DUMP 命令来执行此功能,从SQL Server 2000起,不再使用DUMP 命令。关于BACKUP 命令的详情请参见“数据备份与恢复”章节。
    4.7.2 CHECKPOINT
语法如下:
CHECKPOINT
CHECKPOINT 命令用于将当前工作的数据库中被更改过的数据页data page 或日志页(log page)从数据缓冲器(data buffer cache)中强制写入硬盘。
    4.7.3 DBCC
DBCC Database Base Consistency Checker,数据库一致性检查程序)命令用于验证数据库完整性、查找错误、分析系统使用情况等。
DBCC 命令后必须加上子命令,系统才知道要做什么。如DBCC CHECKALLOC 命令检查目前数据库内所有数据页的分配和使用情况。
关于DBCC 命令的详情,请参见附录。

    4.7.4 DECLARE
语法如下:
DECLARE {{ @local_variable data_type }
| { @cursor_variable_name CURSOR }
| { table_type_definition }
} [,...n]]
DECLARE 命令用于声明一个或多个局部变量、游标变量或表变量。在用DECLARE命令声明之后,所有的变量都被赋予初值NULL。需要用SELECT 或SET命令来给变量赋值。变量类型可为系统定义的或用户定义的类型,但不能为TEXT、NTEXT、IMAGE类型。CURSOR 指名变量是局部的游标变量。
例4-16
declare @x float @y datetime
select @x = pi @y = getdate
print @x
print @y
运行结果如下:
3.14159
Jun 17 2000 4:32PM
注意:如果变量为字符型,那么在data_type表达中应指明
其最大长度,否则系统认为其长度为1。
例4-17
declare @x char @y char 10
select @x = '123' @y = 'data_type'
print @x
print @y
运行结果如下
1
data_type

    4.7.5 EXECUTE
EXECUTE 命令用来执行存储过程,其具体用法请参见“存储过程”章节。 
     4.7.6 KILL
KILL 命令用于终止某一过程的执行,其具体用法请参见“存储过程”章节。
    4.7.7 PRINT
语法如下:
PRINT 'any ASCII text' | @local_variable | @@FUNCTION | string_expression
PRINT 命令向客户端返回一个用户自定义的信息,即显示一个字符串(最长为255个字符)、局部变量或全局变量。如果变量值不是字符串的话,必须先用数据类型转换函数CONVERT(),将其转换为字符串。其中,string_expression 是可返回一个字符串的表达式。表达式的长度可以超过8000 个字符,但超过8000 的字符将不会显示。
例4-18:
declare @x char 10 @y char 10
select @x = 'SQL' @y = 'Server'
print '科技'
print @x + @y

运行结果如下:
科技
SQL Server

   4.7.8 RAISERROR
RAISERROR 命令用于在SQL Server 系统返回错误信息时,同时返回用户指定的信息。其具体用法请参见“存储过程”章节。
    4.7.9 READTEXT
READTEXT 命令语法如下
READTEXT {table.column text_pointer offset size} [HOLDLOCK]
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 命令的详情,请参见“数据备份与恢复”章节
    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

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 (*)
from department)
set @x = '部门数目'
print @x
select @department_num
运行结果如下
部门数目
-----------
7

2 用于设定用户执行SQL 命令,时SQL Server 的处理选项设定
有以下几种设定方式:

  • SET 选项ON
  • SET 选项OFF
  • SET 选项值

关于此类SET 命令的详情,请参见附录。
语法如下
SHUTDOWN [WITH NOWAIT]
SHUTDOWN 命令用于停止SQL Server 的执行,当使用NOWAIT 参数时,SHUTDOWN命令立即停止SQL Server,在终止所有的用户过程并对每一现行的事务发生一个回滚后,退出SQL Server。当没有用NOWAIT 参数时,SHUTDOWN 命令将按以下步骤执行:
(1) 终止任何用户登录SQL Server。
(2) 等待尚未完成的Transact-SQL 命令或存储过程执行完毕。
(3) 在每个数据库中执行CHECKPOINT 命令
(4) 停止SQL Server 的执行
例4-24
shutdown with nowait
运行结果如下:
------------------------------
Changed language setting to us_english.
Server shut down by request.
SQL Server is terminating this process.
停止SQL Server 的执行的方法还有好几种,我们将在“企业管理器EnterpriseManager” 章节中介绍。

    4.7.14 WRITETEXT
语法如下:
WRITETEXT {table.column text_pointer} [WITH LOG] {data}
WRITETEXT 命令用于向数据类型为TEXT、 NTEXT 或IMAGE 的列中读取数据。其中text_pointer 是指向存储文本的第一个数据库页的指针,它可以用TEXTPTR()来获取。关于TEXTPTR 函数的使用请参见“4.8.7 TEXT 和IMAGE 函数”。WOTH LOG选项用于记录所写入的数据。data 可为文字或变量,其最大长度为120KB。注意:WRITETEXT命令不能作用于视图。

推荐使用UPDATETEXT 命令来修改TEXT、NTEXT 和IMAGE 类型的数据。因为WRITETEXT 命令将数据列的数据完全替换,而UPDATETEXT 命令可以只更改数据列的一部分。关于UPDATETEXT 命令的使用将在“数据库更新”章节中讲述。
例4-25
declare @t_pointer binary (16)
use pangu
select @t_pointer = textptr d_intro
from department
where d_name = '技术部'
writetext department.d_intro @t_pointer '进行技术研究与开发提供最新的技术动态信息'

    4.7.15 USE
语法如下
USE {databasename}
USE 命令用于改变当前使用的数据库为指定的数据库。用户必须是目标数据库的用户成员或目标数据库建有GUEST 用户账号时,使用USE 命令才能成功切换到目标数据库。

相关文章

·MySQL数据库安全配置
·化解字符串不能超过8000的方法
·sqlserver中怎么对text、ntext和
·sql server动态连接odbc的dsn
·ms sql server数据库无法输入简单
·如何制作数据库安装程序
·Web环境下MS SQL Server中数据的
·优化SQLServer数据库服务器内存配
·将ACCESS的数据库转化为SQL SERV
·使用SQL Server 2000将现有代码作


阅读排行

·Win 2000不能访问Win XP的原因及
·解析Windows中的帐户和权限功能
·如何共享Windows XP操作系统
·Windows XP Service Pack 1
·通过 Windows XP 注册表自定义您
·Windows 2000 TCP/IP协议概述
·Windows 2000 Server TCP/IP协议
·dos常用命令使用说明
·Windows变慢原因分析及解决方法(
·Windows变慢原因分析及解决方法(
·WINXP下强行关闭“杀”不了的进程
·Windows XP系统注册表的恢复

最新文档

·创业激情需冷静 网络代理选择应理
·域名交易平台亟需规范 预防域名买
·Travel旅游域名即将引发抢注潮 
·从原理深处分析如何预防arp攻击
·突破建站弊端 企业网络营销大有可
·如何区分进程和病毒?
·java的基础知识,如何学好java
·微机原理与接口技术基础知识
·如何解决青少年沉迷网络的问题,
·全面分析主板BIOS报警信号

请您注意:
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·您在本站发表的作品,本站有权在网站内转载或引用
·其他网站如果需要转载 本站文章请在贵站著名来源,谢谢合作