‘壹’ 数据库在进行CHECKDB时出现 sql Server 检测到基于一致性的逻辑 I/O 错误
先备份数据库,在测试数中,将那9张表的数据先放到临时表中,再删除那9张表,重新建表,再从临时表导入数据,如果删除那9张表都失败,表明9的数据一致性有问题,那就只能重新建新的数据库,一个表一个表导数据.....
‘贰’ 请问SQL语言中 如何限制表格数据字符型 只能出现数字
1.在存插入存储过程中进行校验。
这样,使用存储过程插入数据,这里最常用的方法,可以最大限度地加入限制,报错和纠错功能以及完成其它表的关联操作。
使用起来也很方便:
EXEC TABLENAME_PROC '123456'
--以下是存储过程脚本
create tablename_proc
@field1 varchar(6)
as
if @field1 not like [0-9][0-9][0-9][0-9][0-9][0-9]
begin
reserror('必须是六位数字',16,1
return
end
insert into tablename(field1) values(@field1)
go
2.建表时加入约束:
create tablename(field1 CHECK (FIELD1 LIKE '[0-9][0-9][0-9][0-9][0-9][0-9]')
3.建表后给已存在字段添加约束
alter table TABLENAME
with nocheck add constraint TABLENAME_check
check(FIELD1 LIKE '[0-9][0-9][0-9][0-9][0-9][0-9]')
‘叁’ sql查询的数据出现乱码问题
1。select * from v$nls_parameters
查询nls的参数,获得数据库服务器端的字符编码
NLS_LANGUAGE
NLS_CHARACTERSET
2。修改本地环境变量,设置
NLS_LANG = SIMPLIFIED CHINESE.ZHS16GBK //这个是我们的数据库字符编码
NLS_LANG格式:
NLS_LANG = language_territory.charset
有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。其中:language 指定服务器消息的语言。
territory 指定服务器的日期和数字格式。
charset 指定字符集