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

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

[复制链接]

44

主题

62

帖子

9167

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9167
楼主
跳转到指定楼层
发表于 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

帖子

9167

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9167
15#
 楼主| 发表于 2018-12-24 20:02:09 | 只看该作者
--SQL Server:统计数据库中每张表的大小
SELECT DISTINCT a.name ,
b.rows
FROM sysobjects a ,
sysindexes b
WHERE a.id = b.id
AND a.type = 'u' AND b.rows>0
ORDER BY b.rows DESC
回复

使用道具 举报

44

主题

62

帖子

9167

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9167
14#
 楼主| 发表于 2018-11-28 16:29:19 | 只看该作者
--查询SQL数据库中每个表在数据大小
SELECT   'select *  from '+a.name+'   --'+ltrim(str(b.rows))+'条记录'
FROM      sysobjects AS a INNER JOIN
                 sysindexes AS b ON a.id = b.id
WHERE   (a.type = 'u') AND (b.indid IN (0, 1))
ORDER BY b.rows DESC
回复

使用道具 举报

44

主题

62

帖子

9167

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9167
13#
 楼主| 发表于 2018-11-28 16:13:59 | 只看该作者
--查询SQL数据库中每个表在数据大小
SELECT   'select *  from '+a.name+'   --'+ltrim(str(b.rows))+'条记录'
FROM      sysobjects AS a INNER JOIN
                 sysindexes AS b ON a.id = b.id
WHERE   (a.type = 'u') AND (b.indid IN (0, 1))
ORDER BY b.rows DESC
回复

使用道具 举报

44

主题

62

帖子

9167

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9167
12#
 楼主| 发表于 2018-10-8 16:33:34 | 只看该作者
--把到期的会员卡自动延期一年。
ALTER TABLE UT_X_Customer DISABLE TRIGGER all--禁用某个表上的所有触发器
update UT_G_Member set VipEDate=dateadd(year,1,VipEDate) where VipEDate<=getdate()+1 and VipNo>'' and VipEDate>''
ALTER TABLE UT_X_Customer enable TRIGGER all--启用某个表上的所有触发器


--把到期的服务卡自动延期一年。
ALTER TABLE UT_X_CardBuy DISABLE TRIGGER all--禁用某个表上的所有触发器
update UT_X_CardBuy set EndDate=dateadd(year,1,EndDate) where EndDate<=getdate()+1 and VipNo>'' and EndDate>''
ALTER TABLE UT_X_CardBuy enable TRIGGER all--启用某个表上的所有触发器
回复

使用道具 举报

44

主题

62

帖子

9167

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9167
11#
 楼主| 发表于 2018-10-6 11:17:04 | 只看该作者
--查看表名和对应的数据行数
select  a.name as '表名',b.rows as '表数据行数'
from sysobjects a inner join sysindexes b
on a.id = b.id
where   a.type = 'u'
and b.indid in (0,1)
--and a.name not like 't%'
order by b.rows desc
回复

使用道具 举报

44

主题

62

帖子

9167

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9167
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--启用某个表上的所有触发器
回复

使用道具 举报

44

主题

62

帖子

9167

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9167
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

帖子

9167

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9167
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

帖子

9167

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9167
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--启用某个表上的所有触发器
回复

使用道具 举报

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

本版积分规则

客服热线
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-5-11 04:47 , Processed in 0.041532 second(s), 7 queries , File On.

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