首页 > 数据库 >SQL SERVER 数据库查询包含某个字符串的所有物理表

SQL SERVER 数据库查询包含某个字符串的所有物理表

时间:2023-03-21 14:47:27浏览次数:37  
标签:TABLES SET VARCHAR column 数据库 sql SERVER SQL table

 

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

 

标签:TABLES,SET,VARCHAR,column,数据库,sql,SERVER,SQL,table
From: https://www.cnblogs.com/parkerchen/p/17239933.html

相关文章

  • SQL之操作数据库基操
    1、创建数据库createdatabase数据库名称;2、删除数据库dropdatabasedb1;3、查询出mysql中所有的数据库showdatabases;4、切换使用数据库usedb1;5、......
  • SqlSugar 实践笔记
    使用Insertable+ExecuteReturnSnowflakeIdAsync为Id赋值时Id字段不能自增数据库为SqlServer2012,实体的Id字段标记IsPrimaryKey=true属性,新增时使用雪花算法创建Id并......
  • 上课用数据库
    /*NavicatMySQLDataTransferSourceServer:kuyuSourceServerVersion:50622SourceHost:localhost:3306SourceDatabase:wgj......
  • 详解一张历史数据库性能的关键表--dba_hist_active_sess_history
    在很多情况下,当数据库发生性能问题的时候,我们并没有机会来收集足够的诊断信息,比如systemstatedump或者hanganalyze,甚至问题发生的时候DBA根本不在场。这给我们诊断问题......
  • 数据库的操作
    是否有经常无法插进数据库或者是查询不到数据?每次在与数据库相关操作的时候,需要与数据库先建立连接,而不是只有简单一次连接每次插入查询都要先与数据库建立连接......
  • Mysql Docker
    Docker部署Mysql主从复制在docker内部,mysql5.7与mysql8.0目录存放位置是不一样的echonet.ipv4.ip_forward=1>>/etc/sysctl.confsysctl-pservicenetworkrestarts......
  • 数据库原理--关系代数
    关系代数概述关系代数是研究数据库的一个重要工具,是一种抽象的查询语言,其运算的对象、结果均为关系。实际上关系的运算既包括关系运算,也包括集合运算,从细节入手还包括比......
  • 解决PostgreSQL插入数据时主键ID重复问题
    问题执行以下插入数据语句INSERTINTOstudent(name)values('Tony');抛出如下异常ERROR:duplicatekeyvalueviolatesuniqueconstraint"student_pkey"DETAIL:......
  • Linux篇-mysql + keepalived高可用
    1上次说过了mysql的主从配置tarzxfkeepalived-1.2.7.tar.gzcdkeepalived-1.2.7yuminstallgccgcc-c++yuminstallkernel-devel-y2报错configure:error:Popt......
  • 玩转Serverless架构 概念篇+开发基础篇+开发进阶篇+场景案例篇
    你好,我是老蒋,一个在前端摸爬滚打7年的老兵,目前是国内某一线大厂的资深软件工程师。2017年国内Serverless技术刚刚兴起,我就开始使用和推广Serverless了,当时,我的团......