查询 哪张表 有某字段

今天一个网友问我,他知道字段名,但想知道有哪些表中有这些字段,以便他方便工作,想了一下,写了一个存储过程给他用,我想可能还有网友遇到过这个情况,所以贴出来给大家参考。

 1 create proc usp_colum_search
 2 @column_name varchar(300) --字段名
 3
 4 as
 5 /*
 6 作者:lcl
 7 日期:2015-07-14
 8 调用:exec usp_colum_search ‘KSDM‘
 9 说明:查询哪些表中有该列
10 */
11
12
13 --声明游标
14 declare search_cur cursor for select id from syscolumns where name=@column_name
15 --声明变量
16 declare @id int
17
18 --打开游标
19 open search_cur
20
21 --开始移动
22 fetch search_cur into @id
23 --开始循环
24 while(@@FETCH_STATUS=0)
25 begin
26 select OBJECT_name(@id) as 表名
27 fetch search_cur into @id
28 end
29
30 --关闭游标
31 close search_cur
32 deallocate search_cur
时间: 2024-10-08 05:06:39

查询 哪张表 有某字段的相关文章

查询一张表中有重复字段的记录

语法:select * from 表名 where (字段名) in  (select 字段,名 from 表名 group by 字段名 having count(*) > 1); 如一下goods表: : 执行sql语句:select * from  goods where inventory in (select inventory from goods group by inventory having count(*) > 1);

Oracle查询一张表的所有字段

SELECT column_name, data_type FROM all_tab_cols WHERE table_name = 'FORMTABLE_MAIN_144' ; 原文地址:https://www.cnblogs.com/suhfj-825/p/11423318.html

拿字段数据直接查询别张表并转出对应

摘要:拿字段数据直接查询别张表并转出对应 SELECT TimesId ,ParliamentName ,ParliamentSequence , ? ParliamentType =? ( ?select CodeValue? ?from SystemCode? ?where Code = ParliamentType and CodeIndex= 'PType' )? ,StartDate ,EndDate ,UseStatus, AssignDate ,CreatedUserId ,Cre

mysql左连接右连接(查询两张表不同的数据)

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 :right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录:inner join(等值连接) 只返回两个表中联结字段相等的行: 表A数据: 表B数据: 1.查询两张表中都有的记录: sql: SELECT a.* FROM a INNER JOIN b ON a.a_id = b.b_id; 2.查询表A中有,表B中没有的数据: sql: SELECT a.* FROM a LEFT JO

mysql查询某张表的外键

mysql和oracle一样也是有数据字典表的,是存在单独的一个库叫INFORMATION_SCHEMA,要查看某张表的外键要从字典表中查找 如mysql查询某张表的外键,可以用下面的方式查询 use INFORMATION_SCHEMA; select TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME from KEY_COLUMN_USAGE where table_name

Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串

应用场合:参考网上查询数据表的所有字段名代码,使用游标生成指定单个表的所有字段名跟逗号组成的用于select  逗号隔开的字段名列表 from字符串等场合. 查询结果输出如下: 当前数据表TB_UD_USER的字段列表字符串为AH,BIRTHPLACE,BM,CELLPHONE,CJGZRQ,DEPARTMENT2,DJJID,GZCX,GZKH,GZSFZH,HJDZ,HYZK,ID,JHRQ,JTZZ,LAFX_LD,LJDZ,LLY,LXDH,NAME,NXDH,POLICENUMBER,

sql 语句 获取某张表某列字段最短的某几行数据

sql 语句 获取某张表某列字段最短的某几行数据 SELECT C_name,C_code FROM Catalog where LEN(C_code)=LEN((SELECT top 1 C_code FROM Catalog order By LEN(C_code))) 原文地址:https://www.cnblogs.com/woniucode/p/10455406.html

关于left join连接查询 两张表里有同名字段的问题

左连接查询在开发中很常用,但有个问题常常会遇到,两个表中有同名字段时,比如左右表都有一个id字段,会造成查询结果中左表的id值被右表的id值覆盖掉(大部分php框架都是这个效果),而且还不会报错,容易留下隐蔽的bug!解决办法很简单,给同名字段用AS起别名.例如:order表,farmer表都含有id字段, $sql ="SELECT *,i.`id` AS sid from hr_users_identity as i left join hr_student as s on i.`user_

三张表关联 修改第三张表所关联前两张表的某个字段的值

---三张表关联 利用关联的字段 表一关联表二 表二关联表三 来修改表三对应字段下的某个值. update GY_FYJY set zfbl='50' where fyxh in (select fyxh from gy_ylsf where fygb ='26')