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

 

    摘要: 如题,我是新手,不知道能不能这样,我想应该可以吧! ......
    摘要: 如果先装dotnet,再装iis,怎样手工配置iis? ......


求SQL语法(在线)

1。如何根据表结构生成SQL语句??  
  2。如何获取一个字段的所有属性、约束???

NO.1   作者: pengdali

create   procedure   up_getTableStruct    
  @v_tableName   varchar(256)    
  as    
  declare   @i_objectId   int,   --   對象id    
  @i_indId   smallint,   --   索引id    
  @v_pkInfo   varchar(100),   --   主鍵信息    
  @v_clusteredInfo   varchar(20),   --   clustered信息    
  @v_pkCol   varchar(100),   --   主鍵字段    
  @v_key   varchar(50),    
  @i_i   smallint    
  set   @i_objectId   =   object_id(@v_tableName)    
  if   @i_objectId   is   null   --   判斷對象是否存在    
  begin    
  print   The   object   not   exists    
  return    
  end    
  if   OBJECTPROPERTY(@i_objectId,IsTable)   <>   1   --   判斷對象是否是table    
  begin    
  print   The   object   is   not   table    
  return    
  end    
   
  create   table   #temp1    
  (    
  i_id   int   identity,    
  v_desc   varchar(200)    
  )    
   
  insert   into   #temp1(v_desc)    
  values(create   table   +@v_tableName+()   --    
   
  insert   into   #temp1(v_desc)   --   將表的字段信息存入臨時表    
  select   a.name+space(4)+b.name+    
  case   when   b.xtype   in   (167,175,231,239)   then   (+cast(a.length   as   varchar)+)    
  when   b.xtype   in   (106,108)   then   (+cast(a.xprec   as   varchar)+,+cast(a.xscale   as   varchar)+)    
  else     end+space(4)+    
  case   when   (a.colstat   &   1   =   1)   then   identity(+cast(ident_seed(@v_tableName)   as   varchar)+,   +    
  cast(ident_incr(@v_tableName)   as   varchar)+)   else     end   +space(4)+    
  case   a.isnullable   when   0   then   not   null   else   null   end+|    
  from   syscolumns   a,systypes   b    
  where   a.id   =   @i_objectId   and   a.xtype   =   b.xusertype    
  order   by   a.colid    
   
  create   procedure   名  
  @aa   varchar(10)  
  as  
  begin  
      select   a.id   编号,a.name   名称,b.id,b.name   from   table1   a   join   table2   b   on   a.id=b.id   where    
  end  
   
  if   exists(select   1   from   sysobjects   where   parent_obj   =   @i_objectId   and   xtype   =   PK)   --   如果存在主鍵    
  begin    
  select   @v_pkInfo   =   b.name,@i_indId   =   indid,   --   得到主鍵名,id及是否clustered信息    
  @v_clusteredInfo   =   (case   when   (a.status   &   16)=16   then   clustered   else   nonclustered   end   )    
  from   sysindexes   a,sysobjects   b    
  where   a.id   =   b.parent_obj   and   a.name   =   b.name   and   b.xtype   =   PK   and   b.parent_obj   =   @i_objectId    
   
  select   @v_pkCol   =   index_col(@v_tableName,   @i_indId,   1),   @i_i   =   2   --   得到主鍵的第1個字段名    
  select   @v_key   =   index_col(@v_tableName,   @i_indId,   @i_i)   --   得到主鍵的第2個字段名    
  while   (@v_key   is   not   null)    
  begin    
  select   @v_pkCol   =   @v_pkCol   +   ,   +   @v_key,   @i_i   =   @i_i   +   1    
  select   @v_key   =   index_col(@v_tableName,   @i_indId,   @i_i)   --   得到主鍵的第@i_i個字段名    
  end   --   組合成主鍵信息    
  set   @v_pkInfo   =   constraint   +@v_pkInfo+   primary   key   +@v_clusteredInfo+(+@v_pkCol+)    
  insert   into   #temp1(v_desc)   values(@v_pkInfo)   --   將主鍵信息插入臨時表    
  end    
  else    
  begin    
  select   @i_i   =   count(1)   from   #temp1    
  --   如果沒有主鍵,那麼將最後一筆紀錄的|去掉    
  update   #temp1   set   v_desc   =   replace(v_desc,|,)   where   i_id   =   @i_i    
  end    
   
  insert   into   #temp1(v_desc)   values())   --    
  update   #temp1   set   v_desc   =   replace(v_desc,|,,)    
   
  select   v_desc   from   #temp1   order   by   i_id    
   
  drop   table   #temp1


 ·大家一个98系统问题    »显示摘要«
    摘要: 在大家回复帖子前,先谢谢大家的热情帮助.本人是新手,还望大家能详细讲解.谢谢 机子不能进入98系统了.刚开始一切正常,在出现"按任意键继续"后,敲回车键并没有和往常一样进入熟悉的win98系统,而是出现"现在你可以安全关机"的字样. 各位大侠请问这是为什么?我怎样才能恢复我的98系统.恢复的步骤又怎样呢??请各位朋友细解. ......
» 本期热门文章:

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