查看: 42948|回复: 14
打印 上一主题 下一主题

优软DMS常见维护SQL操作命令

[复制链接]

44

主题

62

帖子

8881

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8881
楼主
跳转到指定楼层
发表于 2018-8-4 18:56:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
【SQL Server触发器的禁用和启用】
---------------------------------------------------------------
--禁用某个表上的所有触发器
ALTER TABLE 你的表 DISABLE TRIGGER all

--启用某个表上的所有触发器
ALTER TABLE 你的表 enable TRIGGER all
---------------------------------------------------------------
--禁用所有表上的所有触发器
exec sp_msforeachtable 'ALTER TABLE ? DISABLE TRIGGER all'

--启用所有表上的所有触发器
exec sp_msforeachtable 'ALTER TABLE ? enable TRIGGER all'
---------------------------------------------------------------
回复

使用道具 举报

44

主题

62

帖子

8881

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8881
沙发
 楼主| 发表于 2018-8-4 19:05:17 | 只看该作者
--全部角色拥有【所有仓库权限】所有权限的SQL命令
--让全部角色都拥有【所有仓库权限】的权限。
Insert into [T_ACL_Role_Function]([Role_ID],[Function_ID])
select [Role_ID],[Function_ID]
from
(
select  a.Role_ID,b.ID as [Function_ID]
from T_ACL_Role_Function as a
left join T_ACL_Function as b on 1=1
where (b.pid='4e0e1b81-84e3-434a-bced-9536d6fd85c6' or b.id='4e0e1b81-84e3-434a-bced-9536d6fd85c6') and (b.name like '%仓库' or b.name = '仓库权限')
group by a.Role_ID,b.ID
) as a
where [Role_ID]>0 and [Function_ID]>''
and not exists(select top 1 [Function_ID] from [T_ACL_Role_Function] as b where a.[Function_ID]=b.[Function_ID] and a.[Role_ID]=b.[Role_ID])
回复

使用道具 举报

44

主题

62

帖子

8881

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8881
板凳
 楼主| 发表于 2018-8-4 19:07:15 | 只看该作者
--'超级管理员','管理员','董事会','总经理' 角色权限全部勾选的SQL命令
insert into T_ACL_Role_Function([Role_ID],[Function_ID])
select * from
(
        select  a.[ID] as [Role_ID]
                  ,b.[ID] as [Function_ID]
        from  T_ACL_Role as a  
        left join  T_ACL_Function  as  b on 1=1
        where a.[Name] in ('超级管理员','管理员','董事会','总经理')
)
as a
where  not exists(select top 1  [Role_ID] from T_ACL_Role_Function as  c where c.[Role_ID]=a.[Role_ID] and c.[Function_ID]=a.[Function_ID])

回复

使用道具 举报

44

主题

62

帖子

8881

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8881
地板
 楼主| 发表于 2018-8-6 11:57:01 | 只看该作者
--把公里数中带小数点的公里数抹掉小数点
--禁用某个表上的所有触发器
ALTER TABLE UT_X_Gh DISABLE TRIGGER all

update UT_X_Gh set kno=substring(kno,0,CHARINDEX('.',kno))  where kno  like '%.%'

--启用某个表上的所有触发器
ALTER TABLE UT_X_Gh enable TRIGGER all

回复

使用道具 举报

44

主题

62

帖子

8881

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8881
5#
 楼主| 发表于 2018-8-9 14:56:24 | 只看该作者
--禁用某个表上的所有触发器
ALTER TABLE UT_H_Szls DISABLE TRIGGER all

update [UT_H_Szls] set LszfType='运费' where YWXm like '运费:【%' and ywno like 'LS%'

--启用某个表上的所有触发器
ALTER TABLE UT_H_Szls enable TRIGGER all


--禁用某个表上的所有触发器
ALTER TABLE UT_H_Lsz DISABLE TRIGGER all

update [UT_H_Lsz] set LszfType='运费' where YWXm like '运费:【%' and ywno like 'LS%'

--启用某个表上的所有触发器
ALTER TABLE UT_H_Lsz enable TRIGGER all
回复

使用道具 举报

44

主题

62

帖子

8881

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8881
6#
 楼主| 发表于 2018-8-13 13:04:22 | 只看该作者
--短信发送记录去掉空格
ALTER TABLE UT_A_SendMsm DISABLE TRIGGER all--禁用某个表上的所有触发器
update [UT_A_SendMsm] set note=replace(note,space(20),'')  where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(19),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(18),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(17),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(16),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(15),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(14),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(13),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(12),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(11),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(10),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(9),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(8),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(7),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(6),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(5),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(4),'')
where sendrule=1
update [UT_A_SendMsm] set note=replace(note,space(3),'')
where sendrule=1
ALTER TABLE UT_A_SendMsm enable TRIGGER all
--启用某个表上的所有触发器
回复

使用道具 举报

44

主题

62

帖子

8881

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8881
7#
 楼主| 发表于 2018-8-28 18:57:04 | 只看该作者
alter table UT_E_Stock drop constraint DF_UT_E_Stock_Tdate1   ------说明:删除表的字段的原有约束
alter table UT_E_Stock drop constraint DF_UT_E_Stock_Tdate2   ------说明:删除表的字段的原有约束
alter table UT_E_Stock drop constraint DF__UT_E_stoc__newin__14B10FFA   ------说明:删除表的字段的原有约束

alter table UT_E_Stock add constraint DF_UT_E_Stock_Tdate1 DEFAULT '1900-01-01' for Tdate1 -------说明:添加一个表的字段的约束并指定默认值
alter table UT_E_Stock add constraint DF_UT_E_Stock_Tdate2 DEFAULT '1900-01-01' for Tdate2 -------说明:添加一个表的字段的约束并指定默认值
alter table UT_E_Stock add constraint DF__UT_E_stoc__newin__14B10FFA DEFAULT '1900-01-01' for Newindate -------说明:添加一个表的字段的约束并指定默认值

ALTER TABLE UT_E_Stock DISABLE TRIGGER all--禁用某个表上的所有触发器
update UT_E_Stock set Tdate1='1900-01-01' where Tdate1='1990-01-01'
update UT_E_Stock set Tdate2='1900-01-01' where Tdate2='1990-01-01'
update UT_E_Stock set Newindate='1900-01-01' where Newindate='1990-01-01'
ALTER TABLE UT_E_Stock enable TRIGGER all--启用某个表上的所有触发器


alter table UT_E_StockBack drop constraint DF__UT_E_Stoc__BackD__76818E95   ------说明:删除表的字段的原有约束
alter table UT_E_StockBack drop constraint DF__UT_E_Stoc__NewIn__6EE06CCD   ------说明:删除表的字段的原有约束

alter table UT_E_StockBack add constraint DF__UT_E_Stoc__BackD__76818E95 DEFAULT '1900-01-01' for BackDate -------说明:添加一个表的字段的约束并指定默认值
alter table UT_E_StockBack add constraint DF__UT_E_Stoc__NewIn__6EE06CCD DEFAULT '1900-01-01' for NewIndate -------说明:添加一个表的字段的约束并指定默认值


ALTER TABLE UT_E_StockBack DISABLE TRIGGER all--禁用某个表上的所有触发器
update UT_E_StockBack set BackDate='1900-01-01' where BackDate='1990-01-01'
update UT_E_StockBack set NewIndate='1900-01-01' where NewIndate='1990-01-01'
ALTER TABLE UT_E_StockBack enable TRIGGER all--启用某个表上的所有触发器
回复

使用道具 举报

44

主题

62

帖子

8881

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8881
8#
 楼主| 发表于 2018-9-3 14:19:11 | 只看该作者
--禁用某个表上的所有触发器

ALTER TABLE UT_E_Stock DISABLE TRIGGER all

update UT_E_Stock  set  lb1='漆',Depot='辅料仓库'  where handno='1001' and ty in ('漆')

--启用某个表上的所有触发器
ALTER TABLE UT_E_Stock enable TRIGGER all


--禁用某个表上的所有触发器
ALTER TABLE UT_E_StockBack DISABLE TRIGGER all

update UT_E_StockBack  set  lb1='漆',Depot='辅料仓库'  where handno='1001' and ty in ('漆')

--启用某个表上的所有触发器
ALTER TABLE UT_E_StockBack enable TRIGGER all

--禁用某个表上的所有触发器
ALTER TABLE UT_B_Inls DISABLE TRIGGER all

update UT_B_Inls  set  lb1='漆',Depot='辅料仓库'  where handno='1001' and ty in ('漆')

--启用某个表上的所有触发器
ALTER TABLE UT_B_Inls enable TRIGGER all


--禁用某个表上的所有触发器
ALTER TABLE UT_D_OutLs DISABLE TRIGGER all

update UT_D_OutLs  set  lb1='漆',Depot='辅料仓库'  where handno='1001' and ty in ('漆')

--启用某个表上的所有触发器
ALTER TABLE UT_D_OutLs enable TRIGGER all


--禁用某个表上的所有触发器
ALTER TABLE UT_A_Commodity DISABLE TRIGGER all

update UT_A_Commodity  set  lb1='漆'  where  ty in ('漆')

--启用某个表上的所有触发器
ALTER TABLE UT_A_Commodity enable TRIGGER all
回复

使用道具 举报

44

主题

62

帖子

8881

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8881
9#
 楼主| 发表于 2018-9-30 13:58:40 | 只看该作者
ALTER TABLE UT_A_Commodity DISABLE TRIGGER all--禁用某个表上的所有触发器

update  UT_A_Commodity set  unit=UT_E_Stock.unit--更新:配件单位(配件属性表)
from UT_E_Stock   
where UT_A_Commodity.Nno=UT_E_Stock.Nno and UT_A_Commodity.unit<>UT_E_Stock.unit


update  UT_A_Commodity set  ty=UT_E_Stock.ty--更新:适用车型(配件属性表)
from UT_E_Stock   
where UT_A_Commodity.Nno=UT_E_Stock.Nno and UT_A_Commodity.ty<>UT_E_Stock.ty


update  UT_A_Commodity set  Name=UT_E_Stock.Name--更新:配件名称(配件属性表)
from UT_E_Stock   
where UT_A_Commodity.Nno=UT_E_Stock.Nno and UT_A_Commodity.Name<>UT_E_Stock.Name

ALTER TABLE UT_A_Commodity enable TRIGGER all--启用某个表上的所有触发器
回复

使用道具 举报

44

主题

62

帖子

8881

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8881
10#
 楼主| 发表于 2018-9-30 14:19:53 | 只看该作者
ALTER TABLE UT_A_Commodity DISABLE TRIGGER all--禁用某个表上的所有触发器

update  UT_A_Commodity set  unit=UT_E_Stock.unit--更新:配件单位(配件属性表)
from UT_E_Stock   
where UT_A_Commodity.Nno=UT_E_Stock.Nno and UT_A_Commodity.unit<>UT_E_Stock.unit
and UT_A_Commodity.Nno in (select nno from UT_E_Stock group by nno having count(nno)=1)

update  UT_A_Commodity set  ty=UT_E_Stock.ty--更新:适用车型(配件属性表)
from UT_E_Stock   
where UT_A_Commodity.Nno=UT_E_Stock.Nno and UT_A_Commodity.ty<>UT_E_Stock.ty
and UT_A_Commodity.Nno in (select nno from UT_E_Stock group by nno having count(nno)=1)

update  UT_A_Commodity set  Name=UT_E_Stock.Name--更新:配件名称(配件属性表)
from UT_E_Stock   
where UT_A_Commodity.Nno=UT_E_Stock.Nno and UT_A_Commodity.Name<>UT_E_Stock.Name
and UT_A_Commodity.Nno in (select nno from UT_E_Stock group by nno having count(nno)=1)

ALTER TABLE UT_A_Commodity enable TRIGGER all--启用某个表上的所有触发器
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

客服热线
400-135-3799 周一至周日:09:00 - 18:00
公司地址:贵阳市南明区花果园国际中心1号楼1820号

优软科技是一个融创意、设计、技术开发、服务为核心的新锐互联网软件公司,专注于汽车行业管理软件,坚持为客户打造高品质的管理软件。

Powered by Discuz! X3.3 Licensed © 2001-2013 Comsenz Inc.

QQ|Archiver|手机版|小黑屋|Comsenz Inc. ( 黔ICP备14004517号-1

黔公网安备 52010202001489号

GMT+8, 2024-4-28 03:38 , Processed in 0.039469 second(s), 6 queries , File On.

快速回复 返回顶部 返回列表