Heim > Datenbank > MySQL-Tutorial > 查看数据库中的字段所在的表中或某值所在的表和字段

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

WBOY
Freigeben: 2016-06-07 14:58:24
Original
1569 Leute haben es durchsucht

查看数据库中的字段所在的表中或某值所在的表和字段 ***********************************字段在哪个表中 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显示被查询数据所在

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage