Sql server 2012 SQL Server异常消息格式
在此页面上有SQL Server错误和相关消息文本的列表 例如: 错误2627:违反了%ls约束'%1!'。无法插入重复项 对象'%1!'中的键 这种例外情况的一个例子是: 违反唯一密钥约束 “AK_AdvanceShipmentNotices_CustomerId_PurchaseOrderNumber”。不能 在对象“dbo.AdvanceShipmentNotices”中插入重复密钥。这个 重复的键值为(41000) 示例错误文本包含占位符:%ls和%.*ls。查看其余的错误示例,还有许多其他占位符,例如%d、%s、%s\u日期、%hs、%s\t、%x等 问题:这些占位符是在任何地方定义的,还是我只需要自己弄清楚它们都是什么意思 其他示例错误:Sql server 2012 SQL Server异常消息格式,sql-server-2012,Sql Server 2012,在此页面上有SQL Server错误和相关消息文本的列表 例如: 错误2627:违反了%ls约束'%1!'。无法插入重复项 对象'%1!'中的键 这种例外情况的一个例子是: 违反唯一密钥约束 “AK_AdvanceShipmentNotices_CustomerId_PurchaseOrderNumber”。不能 在对象“dbo.AdvanceShipmentNotices”中插入重复密钥。这个 重复的键值为(41000) 示例错误文本包含占位符:%ls和%.*ls。查看其余的错误示例,还有许多
- 错误21:警告:在%S\u日期发生致命错误%d。请记下错误和时间,并与系统管理员联系
- 错误103:以'%1!'开头的%1!'消息太长。最大长度为%d
- 错误262:%ls在数据库'%1!'中的权限被拒绝
- 错误407:内部错误。文件%hs第%d行中的字符串例程失败,HRESULT 0x%x
- 错误408:在ORDER BY列表的位置%i中遇到常量表达式
- 错误479:表“%ls”的TABLESAMPLE子句中的行值或可重复种子“%I64d”无效。值或种子必须大于0
- 错误532:时间戳(更改为%S_TS)显示该行已被其他用户更新
- 错误552:CryptoAPI函数“%ls”失败。错误0x%x:%ls
- 错误2627:违反了%ls约束'%1!'。无法在对象'%1!'中插入重复的键
RAISERROR
函数的文档提供了更多信息:
msg_str是具有可选嵌入式转换规范的字符串。每个转换规范定义如何格式化参数列表中的值,并将其放入msg_str中转换规范位置的字段中。转换规范具有以下格式:
%[[flag][width][.precision][{h|l}]]类型
旗
确定替换值的间距和对齐方式的代码
代码:
:在给定字段宽度内左对齐参数值-
:如果参数值是有符号类型,则在参数值前面加上加号(+)或减号(-)+
:在输出前加上零,直到达到最小宽度。当0和减号(-)出现时,将忽略00
:当与o、x或x格式一起使用时,数字符号(#)标志分别以0、0x或0x作为任何非零值的前缀。当d、i或u前面有数字符号(#)标志时,该标志将被忽略#
(空白):如果输出值是有符号且为正数,则在输出值前加空格。当包含加号(+)标志时,将忽略此选项
或d
:带符号整数i
:无符号八进制o
:字符串s
:无符号整数u
或x
:无符号十六进制x
谢谢。这正是我想要的。(对于''%1!''的含义,我仍然有点困惑。根据文档,'*'表示精度是由参数列表中的关联参数指定的,它必须是整数值)。在上面的示例中,它不是。另外,'1'表示'longint'-这如何应用于's',字符串?)。不管怎样,我想我已经得到我需要的了。再次感谢!