触发器是一种特殊的存储过程。
表1:News (NewsID,NewsName,NewsRemark)  表2:ColumnMgt(ColumnID,ColumnName)

创建触发器
Create trigger updateNews on News for Update
as
  if Update(NewsName)
    begin
   insert into ColumnMgt (ColumnName) values ('a')
   end

 


Create trigger insertNews on News for Insert
 as
   begin
    insert into ColumnMgt (ColumnName) values ('a') 
   end


Create trigger deletNews on News for Delete
as
   begin
     insert into ColumnMgt (ColumnName) values ('a')
   end

删除触发器
  Drop trigger updateNews ,insertNews ,deletNews





伸缩数据:
backup Log logisticsnew with no_log
dbcc shrinkdatabase(logisticsnew,truncateOnly)



SQL 导数据到Excel:

开启 xp_cmdshell:
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
关闭 xp_cmdshell:
关闭一样.只是将上面的后面的那个"1"改成"0"就可以了.
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 0;RECONFIGURE;

 


方法I:(Excel文件已经存在,而且已经按照要接收的数据创建好表头——追加记录)
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\temp.xls',temp$)
select * from 数据库名..表名

方法II:(Excel文件不存在,也可以用BCP来导成类Excel的文件,注意大小写)
exec master..xp_cmdshell 'bcp "select top 1 * from 数据库名..表名
where c1=''张三''" queryout c:\Temp.xls -c -q -S"数据库服务器名" -U"sa" -P"密码"'
例子:exec master..xp_cmdshell 'bcp "select * from Radio..RadioArea " queryout c:\Temp.xls -c -q -S"数据库服务器名" -U"用户名" -P"密码"'



把一个表中的数据放到另一个表中
insert into DataBase1..Table1 select * from DataBase2..Table2
把一个表复制到另一个数据库中
select * into DataBase1..Table from DataBase2..Table2

posted on 2008-03-30 01:32  blogsweb  阅读(168)  评论(0)    收藏  举报