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

    摘要: 我的第一个页面分左右两边,左边固定的,是菜单;右边是内容a.jsp。 右边的内容中有一个打印按钮printed,点击后弹出打印窗口,窗口里面有一个关闭按钮close。 我想点关闭按钮后就直接转到另一个界面b.jsp。(b.jsp覆盖原来a.jsp的界面) 在close按钮里我是这样的:onclick="parent.close();datareturn(index1.jsp,,)......
    摘要: 我查找数据库的内容,向下查找可以,可是点击向上查找上一条记录,就没有反应,请问这个代码怎么写?谢谢。 ......


如何用SQL获取一个表的主键的名字,谢谢

如何用SQL获取一个表的主键的名字,谢谢  
  如表名为:Customer  
  主要作用是把Customer中和表Customer1中数据一样的行删掉

NO.1   作者: tangqijun199

sp_help   p_spinfo  
  sp_helpindex   p_spinfo  
   
   
  delete   a   from   Customer   a,Customer1   b   where   a.主建=b.主建。

NO.2   作者: xiaonvjing

select   *   from   sysobjects   where   name   like   pk__%

NO.3   作者: xiaonvjing

或者使用系统存储过程:  
   
  exec   sp_helpconstraint   Customer  
   
   
 

NO.4   作者: xiaonvjing

哦,不明白,楼主的意思啦,  
  得到主键的名字,  
  是把Customer中和表Customer1中数据一样的行删掉  
   
  要想把两个表中的一样的数据删除掉,只要表连接不就可以  
  找到一样的数据吗,不就可以删除了吗?  
   
  解释一下:  
   
  exec   sp_helpconstraint   Customer  
   
  这句的意思是利用系统存储过程,查询   Customer上约束的定义  
  因为每一个表中有且只有一个主键。  
   
   
   
 

NO.5   作者: vivianfdlpw

http://community.csdn.net/Expert/icView.asp?id=4186660

NO.6   作者: libin_ftsafe

select    
          d.name    
  from    
          sysindexes   a,  
          sysobjects   b,  
          sysindexkeys   c,  
          syscolumns   d  
  where    
          c.id   =   object_id(t1)   --替换成相应的表名  
          and    
          c.id   =   b.parent_obj    
          and    
          a.name   =   b.name    
          and    
          b.xtype=PK    
          and    
          a.indid   =   1  
          and    
          d.colid   =   c.colid    
          and    
          d.id   =   c.id

NO.7   作者: tangqijun199

楼上的查出来好象不对啊。  
   
  create   table   #primary  
  (  
      a           sysname,  
      b           sysname,  
      c           sysname,  
      d           sysname,  
      e           int,  
      f           sysname  
  )  
   
   
  insert   #primary   exec   sp_pkeys   t_pcdmx  
   
  #primary中的d列就要楼住要的吧??

NO.8   作者: zjcxc

--得到主键字段名  
   
  1:  
  SELECT   TABLE_NAME,COLUMN_NAME   FROM   INFORMATION_SCHEMA.KEY_COLUMN_USAGE    
  WHERE   TABLE_NAME<>dtproperties  
   
  2:  
  EXEC   sp_pkeys   @table_name=表名  
   
  3:  
  select   o.name   as   表名,c.name   as   字段名,k.colid   as   字段序号,k.keyno   as   索引顺序,t.name   as   类型  
  from   sysindexes   i  
  join   sysindexkeys   k   on   i.id   =   k.id   and   i.indid   =   k.indid  
  join   sysobjects   o   on   i.id   =   o.id  
  join   syscolumns   c   on   i.id=c.id   and   k.colid   =   c.colid  
  join   systypes   t   on   c.xusertype=t.xusertype  
  where   o.xtype   =   U  
  and   o.name=要查询的表名  
  and   exists(select   1   from   sysobjects   where   xtype   =   PK   and   parent_obj=i.id   and   name   =   i.name)  
  order   by   o.name,k.colid  
   
 

NO.9   作者: filebat

--测试数据  
  use   northwind  
  go  
  select   *   into   orders2   from   orders  
  --示例  
  declare   @where   varchar(1000),   @str   varchar(2000)  
  set   @str=  
            delete   orders2  
            where   exists(select   1  
            from   orders   as   tt    
  set   @where=  
  select   @where=@where+   and   [+name+]=tt.[+name+]  
  from   syscolumns   where   id=object_id(orders)  
  select   @where=   where   +substring(@where,   5,   len(@where))+)  
  set   @str=@str+@where  
  print   @str   --你看看sql语句就知道我在做什么了。  
  exec   (@str)  
  --查询删除后的结果  
  select     *   from   orders2  
  --清除  
  drop   table   orders2

NO.10   作者: lxk1972

使用系统存储过程:exec   sp_pkeys   表名  
 

NO.11   作者: bugchen888

厉害厉害....收藏收藏....


    摘要: 如何用sql获取一个表的主键的名字,谢谢 如表名为:customer 主要作用是把customer中和表customer1中数据一样的行删掉 ......
» 本期热门文章:

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