当前位置:首页 » 编程语言 » raiserrorsql

raiserrorsql

发布时间: 2022-05-08 17:39:13

⑴ 怎么获取sql server返回的raiserror

return从查询或过程中无条件退出,不执行位于return之后的语句。而raiserror则还要继续执行错误检查,记录发生错误,并把错误消息返回给客户端。

⑵ sql 怎么用raiserror回滚数据

raiserror 是进行错误提示的
begin tran
语句
if @@error<>0
raiserror('语句未正常执行.请检查',16,1)
rollback tran //回滚操作.
else
commit tran

⑶ sql中raiserror语句是做什么事的

此语句用于发出错误信号和向客户端发送消息。

语法
raiserror error-number [ format-string ] [, arg-list ]

raiserror('Error Message!',9,1)

显示结果:
消息 50000,级别 9,状态 1,第 1 行
'Error Message!

不明白再问我,谢谢!

⑷ sql中的 raiserror什么意思啊

RAISERROR
返回用户定义的错误信息并设系统标志,记录发生错误。通过使用 RAISERROR 语句,客户端可以从 sysmessages 表中检索条目,或者使用用户指定的严重度和状态信息动态地生成一条消息。这条消息在定义后就作为服务器错误信息返回给客户端。

语法
RAISERROR ( { msg_id | msg_str } { , severity , state }
[ , argument [ ,...n ] ] )
[ WITH option [ ,...n ] ]

参数
msg_id

存储于 sysmessages 表中的用户定义的错误信息。用户定义错误信息的错误号应大于 50,000。由特殊消息产生的错误是第 50,000 号。

msg_str

是一条特殊消息,其格式与 C 语言中使用的 PRINTF 格式样式相似。此错误信息最多可包含 400 个字符。如果该信息包含的字符超过 400 个,则只能显示前 397 个并将添加一个省略号以表示该信息已被截断。所有特定消息的标准消息 ID 是 14,000。

msg_str 支持下面的格式:

% [[flag] [width] [precision] [{h | l}]] type

可在 msg_str 中使用的参数包括:

flag

用于确定用户定义的错误信息的间距和对齐的代码。

可以查阅一下SQL SERVER的联机丛书(在安装了MSSQL的开始菜单里可以查到)

⑸ sql 2005 Raiserror的用法

1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_admpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、说明:删除新表drop table tabname
6、说明:增加一个列
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键: Alter table tabname add primary key(col)
说明:删除主键: Alter table tabname drop primary key(col)
8、说明:创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:create view viewname as select statement
删除视图:drop view viewname
10、说明:几个简单的基本的sql语句
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count * as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
11、说明:几个高级查询运算词
A: UNION 运算符
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
B: EXCEPT 运算符
EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
C: INTERSECT 运算符
INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
12、说明:使用外连接
A、left outer join:
左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right outer join:
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
C:full outer join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。

其次,大家来看一些不错的sql语句
1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1 <>1
法二:select top 0 * into b from a

2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;

3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..

4、说明:子查询(表名1:a 表名2:b)
select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3)

5、说明:显示文章、提交人和最后回复时间
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b

6、说明:外连接查询(表名1:a 表名2:b)
select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

7、说明:在线视图查询(表名1:a )
select * from (SELECT a,b,c FROM a) T where t.a > 1;

8、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 数值1 and 数值2

9、说明:in 的使用方法
select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’)

10、说明:两张关联表,删除主表中已经在副表中没有的信息
delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )

11、说明:四表联查问题:
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....

12、说明:日程安排提前五分钟提醒
SQL: select * from 日程安排 where datediff('minute',f开始时间,getdate())>5

13、说明:一条sql 语句搞定数据库分页
select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段

14、说明:前10条记录
select top 10 * form table1 where 范围

15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)
select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)

16、说明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重复行而派生出一个结果表
(select a from tableA ) except (select a from tableB) except (select a from tableC)

17、说明:随机取出10条数据
select top 10 * from tablename order by newid()

18、说明:随机选择记录
select newid()

19、说明:删除重复记录
Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)

20、说明:列出数据库里所有的表名
select name from sysobjects where type='U'

21、说明:列出表里的所有的
select name from syscolumns where id=object_id('TableName')

22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。
select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type
显示结果:
type vender pcs
电脑 A 1
电脑 A 1
光盘 B 2
光盘 A 2
手机 B 3
手机 C 3

23、说明:初始化表table1
TRUNCATE TABLE table1

24、说明:选择从10到15的记录
select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id desc
另外,虚机团上产品团购,超级便宜

⑹ 在SQL中raiserror和rollback有什么区别

raiserror的作用是弹出错误信息
弹出错误信息,也可以自定义信息内容

rollback回滚之前的数据库操作
比如事务中有两段insert文,insert into student(ID) values(1),insert into student(ID) values(2)
第一条正常执行,第二条执行出现异常,这个时候执行rollback语句,则student表中一条记录也没有。如果不执行rollback,则表中会有条ID为1的记录

⑺ 在sql里面raiserror有什么作用的啊

RAISERROR是抛出SQL语句异常或错误的关键字,在存储过程里经常用到。
用法:
使用RAISERROR后需带三个参数,分别如下:
RAISERROR(参数一,参数二,参数三)
参数一:提示出错信息
参数二:错误的状态
参数三:错误的级别
例如:RAISERROR('过程执行出错,行【100】',16,1),16为状态,级别1,错误信息为:过程执行出错,行【100】。

⑻ sql中“raiserror(4008,16,10)”语句是什么意思里面的数字是什么意思

RAISERROR 语句2007-06-07 16:30说明
此语句用于发出错误信号和向客户端发送消息。

语法
RAISERROR error-number [ format-string ] [, arg-list ]

参数

error-number error-number 是大于 17000 的五位整数。错误号存储在全局变量 @@error 中。
format-string 如果未提供 format-string 或者其为空,则使用错误号在系统表中查找错误消息。Adaptive Server Enterprise 从 SYSMESSAGES 表中获取的消息范围为 17000-19999。在 Adaptive Server Anywhere 中,此表为空视图,因此这个范围内的错误消息应该提供格式字符串。编号为 20000 或更大的错误消息从 SYS.SYSUSERMESSAGES 表中获取。
在 Adaptive Server Anywhere 中,format-string 的长度最多可达 255 字节。
Adaptive Server Enterprise 中的 RAISERROR 语句支持的扩展值在 Adaptive Server Anywhere 中不受支持。
对于可选参数列表中的参数,格式字符串可以包含占位符。这些占位符的形式为 %nn!,其中 nn 是介于 1 到 20 之间的整数。
中间 RAISERROR 状态和代码信息在过程终止后会丢失。如果在返回时伴随 RAISERROR 发生了错误,则返回错误信息,而 RAISERROR 信息将丢失。应用程序可以通过在不同的执行点检查 @@error 全局变量,查询中间 RAISERROR 状态。
用法

RAISERROR 语句允许发出用户定义的错误并向客户端发送消息。
权限

无。
副作用

无。
另请参见
CREATE TRIGGER 语句 [T-SQL]
ON_TSQL_ERROR 选项 [compatibility]
CONTINUE_AFTER_RAISERROR 选项 [compatibility]
标准和兼容性
SQL/92 Transact-SQL 扩展。

SQL/99 Transact-SQL 扩展。

Sybase 受 Adaptive Server Enterprise 支持。

示例

下面的语句引发错误 23000(该错误在用户定义的错误范围内)并向客户端发送消息。请注意在 error-number 和 format-string 参数之间有一个逗号。逗号后的第一项被解释为参数列表中的第一项。
RAISERROR 23000 'Invalid entry for this column: %1!', @val

下一个示例使用 RAISERROR 禁止连接。
create procere DBA.login_check()
begin
// Allow a maximum of 3 concurrent connections
if( db_property('ConnCount') > 3 ) then
raiserror 28000
'User %1! is not allowed to connect -- there are already %2! users logged on',
current user,
cast(db_property('ConnCount') as int)-1;
else
call sp_login_environment;
end if;
end
go
grant execute on DBA.login_check to PUBLIC
go
set option PUBLIC.Login_procere='DBA.login_check'
go

热点内容
解压剃发 发布:2024-05-21 03:16:27 浏览:640
服务器怎么连接到电脑显示屏上 发布:2024-05-21 02:38:21 浏览:285
织梦安装数据库连接失败 发布:2024-05-21 02:37:45 浏览:258
python编程入门经典pdf 发布:2024-05-21 02:31:45 浏览:6
arm编译添加驱动 发布:2024-05-21 02:02:28 浏览:476
安卓设置页面是怎么 发布:2024-05-21 01:32:51 浏览:521
学生成绩管理系统数据库设计 发布:2024-05-21 01:14:41 浏览:43
我的世界什么指令直接出现服务器 发布:2024-05-21 01:10:00 浏览:397
星等算法 发布:2024-05-21 00:53:06 浏览:509
李兴华的java视频 发布:2024-05-21 00:49:55 浏览:605