Home > Database > Mysql Tutorial > 查看数据库中的字段所在的表中或某值所在的表和字段

查看数据库中的字段所在的表中或某值所在的表和字段

WBOY
Release: 2016-06-07 14:58:24
Original
1553 people have browsed it

查看数据库中的字段所在的表中或某值所在的表和字段 ***********************************字段在哪个表中 select tab.name table_name, col.name column_name from sysobjects tab left join syscolumns col on tab.id = col.id and tab.xtype = U where col

查看数据库中的字段所在的表中或某值所在的表和字段

 

***********************************字段在哪个表中

select tab.name table_name, col.name column_name

  from sysobjects tab

  left join syscolumns col on tab.id = col.id and tab.xtype = 'U'

 where col.name like '%fkfz10000003%'  order by 1,2

 

*************************************查询整个数据库中某个特定值所在的表和字段的方法

 

通过做一个存储过程,只需要传入一个想要查找的值,即可查询出这个值所在的表和字段名。前提是要将这个存储过程放在所查询的数据库。

 

CREATE PROCEDURE [dbo].[SP_FindValueInDB]

(

    @value VARCHAR(1024)

)        

AS

BEGIN

    -- SET NOCOUNT ON added to prevent extra result sets from

    -- interfering with SELECT statements.

SET NOCOUNT ON;

DECLARE @sql VARCHAR(1024) 

DECLARE @table VARCHAR(64) 

DECLARE @column VARCHAR(64) 

 

CREATE TABLE #t ( 

    tablename VARCHAR(64), 

    columnname VARCHAR(64) 

 

DECLARE TABLES CURSOR 

FOR 

 

    SELECT o.name, c.name 

    FROM syscolumns c 

    INNER JOIN sysobjects o ON c.id = o.id 

    WHERE o.type = 'U' AND c.xtype IN (167, 175, 231, 239) 

    ORDER BY o.name, c.name 

 

OPEN TABLES 

 

FETCH NEXT FROM TABLES 

INTO @table, @column 

 

WHILE @@FETCH_STATUS = 0 

BEGIN 

    SET @sql = 'IF EXISTS(SELECT NULL FROM [' + @table + '] ' 

    SET @sql = @sql + 'WHERE RTRIM(LTRIM([' + @column + '])) LIKE ''%' + @value + '%'') ' 

    SET @sql = @sql + 'INSERT INTO #t VALUES (''' + @table + ''', ''' 

    SET @sql = @sql + @column + ''')' 

 

    EXEC(@sql) 

 

    FETCH NEXT FROM TABLES 

    INTO @table, @column 

END 

 

CLOSE TABLES 

DEALLOCATE TABLES 

 

SELECT * 

FROM #t 

 

DROP TABLE #t 

 

End

 

例如,要查询‘admin’,新建一个查询输入

 

EXEC SP_FindValueInDB 'admin'

会返回相应记录,Tablename显示被查询数据所在表,Columnname显示被查询数据所在

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template