首页 > 数据库 >SQLSERVER根据表存的值查找对应的表

SQLSERVER根据表存的值查找对应的表

时间:2022-11-01 18:11:25浏览次数:45  
标签:TABLES 表存 SET VARCHAR SQLSERVER value 查找 sql table

创建存储过程:

create PROCEDURE [dbo].[P_SYSTEM_FindData]
(
    @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

执行存储过程:

DECLARE    @return_value int
 
EXEC    @return_value = [dbo].[P_SYSTEM_FindData]
        @value = N'ZCLB0322'
 
SELECT    'Return Value' = @return_value
 
GO


效果:

标签:TABLES,表存,SET,VARCHAR,SQLSERVER,value,查找,sql,table
From: https://www.cnblogs.com/ButterflyEffect/p/16848678.html

相关文章

  • SQLSERVER 恢复命令restore总结
    一、概述SQLSERVER的备份与恢复命令:BACKUP和RESTORE是一对孪生兄弟,在前一篇文章中我们介绍了BACKUP命令及其选项的使用,就像BACKUP命令一样,RESTORE命令也有很多的选项,......
  • 道长的算法笔记:单调栈查找前驱与后继
    单调栈单调栈是一种满足单调性的栈结构,其维护单调性方式是弹出栈顶不符合的条件的元素,也就是说,单调栈存储的并非入栈的全部元素,相当一部分元素会被弹掉。使用单调栈通常......
  • Excel垂直查找
    VLOOKUP函数是Excel里函数比较常用的查找函数,V表示Vertical垂直。与之对应的还有HLOOKUP,H表示Horizontal水平,使用方法大同小异,这里以VLOOKUP函数为例举个实际的例子看如何......
  • 二分查找
    二分查找(折半查找)前提:排好顺序的数据//元素存在返回索引,否则返回-1publicstaticintbinarySearch(int[]arr,intdata){intleft=0;intright=arr.l......
  • CentOS9上面使用rpm方式安装SQLServer2022的简单总结
    CentOS9上面使用rpm方式安装SQLServer2022的简单总结下载需要的资料下载CentOS9Stream的安装介质https://mirrors.bfsu.edu.cn/centos-stream/9-stream/BaseOS/x86_64......
  • Qt on Mac 开发之 Qt程序加入Objective-C代码(包含如何查找Objective-C的库)
    目录​​1、引入OC文件​​​​2、引入OC库​​​​3、引入Plist文件​​​​4、编译程序​​1、引入OC文件在pro(或pri)中加入Objective-C的头文件和源文件例如:HEADERS+=$$......
  • C# sqlserver 分页查询
     C#sqlserver分页查询#region----商家列表查询请求类----///<summary>///商家列表查询请求类///</summary>publicclassSellerListRequest......
  • C# Sqlserver 分页查询-微商城
      C#Sqlserver分页查询-微商城#region----分页查询订单流水状态----///<summary>///分页查询订单流水状态///</summary>///......
  • sqlserver 游标
     sqlserver游标declare@BIDInt,@GiveToUserIDint,@NickNamenvarchar(100),@StartTimedatetime,@EndTimedatetime,@PageNumberint,@PageSizeintset@BI......
  • sqlserver执行语句返回刚刚插入的ID
     sqlserver执行语句返回刚刚插入的ID #region----新增一条活动表数据----///<summary>///新增一条活动表数据///</summary>/......