当前位置:首页
开发技术指南» 文章正文
    引言:

 ·不要看手机 千万不敢看呀    »显示摘要«
    摘要: 看了手机---->男的看了学坏, 女的看了知道男人是怎样坏的。 呵呵 ......
 ·互相帮忙    »显示摘要«
    摘要: 互相帮忙:)别告诉别人啊,懂脑子就可以了 ......


模糊匹配字段刪除

有三個問題,   一并回答,每個50分,   我最多只能給100,   解決再開貼給分!  
   
  1,如何實現一個觸發器激發時,   暫停另外一個觸發器,   調用結束後,   再重新啟用那個觸發器?  
  create   Trigger   AAA  
  on   AAA   after   update  
  as  
  begin  
      disabled   Trigger   BBB  
      .....  
      enabled   Trigger   BBB  
  end  
   
   
  2,   如何批量修改或刪除相似名字字段?  
    有几個數據表,   有一系列相似字段,   如   AA1,   AA2,   AA3...  
  我可以用如下:  
  Alter   table   AAA  
      drop   column   aa1,   aa2...  
   
  每次要將相似字段找出來,   很多,   容易漏寫了某個字段,   有什麼好辦法?  
  我需要的是一種類似模糊匹配的方式,   就是說,   我輸入  
  Alter   table   AAA  
      drop   column   func(aaX)  
  就可將所有column   中以   aa開頭的字段刪除  
   
   
  3,   select   AA,   BB   from   AAA   可以從數據表找出   AA,   BB   列值,   現在我想的是,   用類似  
  select   not   (aa,   bb)   from   AAA,   將數據表中   非   aa,   bb的字段列出來,   SQL語句該如何寫呢??  
 

NO.1   作者: solidpanther

第2个问题:  
  declare   @CmdStr   varchar(8000)  
  set   @CmdStr=  
  select   @CmdStr=@CmdStr+  
  alter   table   +name+   drop   column     aa+char(13)  
    from   sysobjects   where   xtype=U  
  execute   @CmdStr  
  第3个问题:  
  declare   @CmdStr   varchar(8000)  
  set   @CmdStr=  
  select   @CmdStr=@CmdStr+t2.name   from   sysobjects     t1,syscolumns   t2  
  where   t1.id=t2.id   and   t1.name=你的表名   and   t2.name   not  
    in   (不可能的字段1,不可能的字段2)  
  set   @CmdStr=select   +@CmdStr+     from   你的表名  
  execute   (@cmdstr)

NO.2   作者: zjcxc

1,如何實現一個觸發器激發時,   暫停另外一個觸發器,   調用結束後,   再重新啟用那個觸發器?  
  create   Trigger   AAA  
  on   AAA   after   update  
  as  
  begin  
  --暂停一个触发器  
  exec(alter   table   触发器所在的表   DISABLE   TRIGGER   要暂停的触发器名)  
  .......  
  处理语句  
  .......  
  --启用触发器  
  exec(alter   table   触发器所在的表   ENABLE   TRIGGER   要暂停的触发器名)  
  end  
  go  
 

NO.3   作者: zjcxc

 
  2.   如何批量修改或刪除相似名字字段?  
   
  declare   @s   varchar(8000)  
  select   @s=@s+  
  alter   table   你的表   drop   column   [+name+]  
  from   syscolumns    
  where   object_id(你的表)=id   and   name   like   aa%  
  exec(@s)  
 

NO.4   作者: zjcxc

3.select   AA,   BB   from   AAA   可以從數據表找出   AA,   BB   列值,   現在我想的是,   用類似  
  select   not   (aa,   bb)   from   AAA,   將數據表中   非   aa,   bb的字段列出來,   SQL語句該如何寫呢??  
   
  declare   @s   varchar(8000)  
  set   @s=  
  select   @s=@s+,[+name+]  
  from   syscolumns    
  where   object_id(你的表)=id   and   name   not   in(aa,bb)  
  set   @s=substring(@s,2,8000)  
  exec(select   +@s+   from   你的表)  
   
   
 


    摘要: 如何向listview中追加行使新追加的行到显示在第一行的位置呢,其他的行後移? ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE