mssql sqlserver 外键约束功能(数据一致性 级联删除(ON DELETE CASCADE)和级联更新(ON UPDATE CASCADE))


摘要:
下文讲述sqlserver中外键的举例应用–级联更新和删除操作
级联操作描述:
如果设置了级联操作的相关选项,当主表关联键发生变化时,自动操作对应的外键的值。



sql server 外键约束举例说明1:

  create table [maomao365.com_Main]
(keyId int primary key,sortName nvarchar(30))
go
create table [maomao365.com_Detail]
( sourceKeyId int,
sortDetailName nvarchar(300),
foreign key (sourceKeyId)
 references [maomao365.com_Main](keyId) on delete cascade  ON UPDATE CASCADE ---设置外键 级联删除 级联更新 
) 
go

/*
上文设置了外键的 级联更新和级联删除
由于加入了  on delete cascade 级联删除
当我们删除[maomao365.com_Main]表中的记录时,相对应的明细表中的会自动清除
----------------------------------
由于加入了  ON UPDATE CASCADE 级联更新
当我们更新了[maomao365.com_Main]表中的记录时,相对应的明细表中的会自动更新

----表结构已存在时添加
   ALTER TABLE [dbo].[maomao365.com_Detail]  WITH CHECK Add CONSTRAINT [FK_maomao365.com_Main_sourceKeyId] 
   foreign key (sourceKeyId)
 references [maomao365.com_Main](keyId) on delete cascade  ON UPDATE CASCADE
GO
 
----删除约束
ALTER TABLE [dbo].[maomao365.com_Detail] 
drop constraint [FK_maomao365.com_Main_sourceKeyId] 
Go
*/

go
truncate table [maomao365.com_Detail]
drop table [maomao365.com_Detail]

go
truncate table [maomao365.com_Main]
drop table [maomao365.com_Main]

mssql sqlserver bit数据类型应用


摘要:
下文讲述软件开发中bool类型的存储,如下所示:


在sql server数据库中,bit类型只占用一个字节,可存储数值为
1、0、null三种值。
我们常将软件开发中的bool型值存储值bit数据类型中,如下对应关系:

bool型

bit型
false

0
true

1

当我们将bool(布尔型)数据插入至数据库时,需将布尔型修改为相应的bit型,然后再插入进数据库中。
当我们使用bool(布尔型)数据时,将bit型取出,并转换为相应的bool值,再绑定到相应的变量上。

mssql sqlserver 使用sql脚本剔除数据中的tab、空格、回车等特殊字符的方法分享


摘要:
在sqlserver开发中,常常有同事反馈无法剔除空格,我们可以通过仔细检查发现,并不是空格字符,而是tab键,如下所示:


解决方法:
对于这些特殊字符的替换,我们需采用字符所对应的ascii编码进行替换,如下所示:

      declare @a varchar(100)
        set @a ='maomao365@blog.com'
      ---替换字符串中的@字符
        select replace(@a,char(64),'') ---使用空格替换"@"字符
     ---替换字符串中tab 
        select replace(@a,char(9),'') ---使用空格替换"tab"字符
     ---替换字符串中的回车键
           select replace(@a,char(13),'') l---使用空格替换"enter"字符