易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL, sql server 2000 ,表间数据 ,级联更新删除

如果,现在有两张表A(id,xx.xx...),C(id,Cid,xx,xx...),预实现C中的id与A 中id级联删除、级联更新/数据同步,可有两种实现方式:
一.
利用sql server自带的级联删除、级联更新功能,即其外键约束途径
 
 
alter table dbo.C
add constraint FK_C_A_AID
foreign key(AID) references dbo.A(AID)
on delete cascade
on update casade
go
 
 
alter table dbo.C
add constraint FK_C_B_BID
foreign key(BID) references dbo.B(BID)
on delete cascade
on update casade
go
 
 
 
 
 
级联更新和级联删除方式:
Alter TABLE [dbo].[T_USERGROUP] ADD
        CONSTRAINT [FK_T_USERGROUP_T_ACCTTEMPLATE] FOREIGN KEY
        (
                [ATNAME]
        ) REFERENCES [dbo].[T_ACCTTEMPLATE] (
                [ATNAME]
        ) ON Update CASCADE ON Delete CASCADE
 
 
二、另外,我们也完全可以自已写一个触发器来实现此功能
 
    
    
     A:
 
     int id
     varchar(20) name
    
     C:
     int id
     int Cid
     varchar(100) info
 
     假设表A、C的字段如上:
 
     如以级联删除表A、C记录为例,实现语句如下:
     (如果删除表A中的记录,则自动删除表C中与表A中id相同的记录)
 
    CREATE   TRIGGER trg_a
ON A
FOR INSERT,UPDATE,DELETE
AS
BEGIN
              DECLARE @nInsRows   INT   --用于插入记录条数统计
    &n


相关文档:

写出高性能SQL语句的35条方法分析

  (1)整合简单,无关联的数据库访问:
  如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系)
  (2)删除重复记录:
  最高效的删除重复记录方法 ( 因为使用了ROWID)例子:
  DELETE from EMP E WHERE E.ROWID > (SELECT MIN(X. ......

SQL Server中未公布的扩展存储过程

SQL Server中未公布的扩展存储过程
作者: echsys,  出处:blog, 责任编辑: 李书琴, 
2008-09-09 07:00
  在SQL Server中包含了几个可以访问系统注册表的扩展存储过程。它们提供了在当前的SQL Server版本中访问系统注册表的能力,而且很多人利用SQL Server来进行攻击系统。本文介绍了如何在SQL Server中禁用他们。
......

sql时间比较操作常用函数

--日期转换参数,值得收藏
select CONVERT(varchar, getdate(), 120)
2004-09-12 11:06:08
select convert(varchar(10),getdate() ,120) 
----------
2009-04-09
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608
select CONVERT(varchar(12) , get ......

CodeSmith连接Access,Sql,Oracle,mysql

ACCESS数据库
1:CodeSmith选中链接类型是:ADOXSchema
2:无密码的Access链接为:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\hh\db.mdb;
3:有密码的Access链接:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\hh\db.mdb;
Jet OLEDB:Database Password=1111
Sql数据库
server=192.1.1.14;User ID=test; ......

SQL DateTime查询与格式

select * from orders where month(orderdate)= (select month(orderdate) from orders where orderid=10248)
1.一个月第一天的
Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
2.本周的星期一
Select DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
3.一年的第一天
Select DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号