查询服务器上所有SQL SERVER数据库中是否包含某个字段,且该字段是否包含某个值

公司有一堆相同类别的客户,每个客户都部署了相同的一套系统,每套系统对应一个相同结构的数据库,昨天老板让查一下手机号码177xxxxx248是属于哪个客户的客户。

我要查的这个号码来自于oa_member表中的phone字段,我需要对所有的数据库进行查询,看哪个数据库的oa_member表的phone字段有这个号码的记录。

然而打开SQL SERVER Managerment Studio 一看,列出一大堆数据库。

image-20240418095703646

卧槽这五六十个数据库,难道要我每个数据库进行一次select?搞一次还好,如果后续动不动再弄个号码过来查一下,岂不是要疯了

于是研究了下SQL语句,看看有什么解决防范,最终还是有所收获。

目前服务器上不仅部署了不少那套系统,而且还有其他不一样的系统部署在服务器上,这样查询的时候需要先过滤掉其他系统的数据库,所以先检索下哪些数据库有oa_member表,通过下面语句就可以检索出来。

DECLARE @DBName NVARCHAR(255)
DECLARE @SQL NVARCHAR(MAX)DECLARE DatabaseCursor CURSOR FOR
SELECT name FROM sys.databases WHERE state_desc = 'ONLINE' AND name NOT IN ('master', 'tempdb', 'model', 'msdb')OPEN DatabaseCursor
FETCH NEXT FROM DatabaseCursor INTO @DBNameWHILE @@FETCH_STATUS = 0
BEGINSET @SQL = 'IF EXISTS (SELECT * FROM [' + @DBName + '].sys.tables WHERE name = ''oa_member'') BEGIN PRINT ''' + @DBName + ' '' END'EXEC sp_executesql @SQLFETCH NEXT FROM DatabaseCursor INTO @DBName
ENDCLOSE DatabaseCursor
DEALLOCATE DatabaseCursor

image-20240418100312787

通过以上SQL语句可以检索出所有我需要的数据库,所以再加上那个号码作为过滤条件其实就能立马筛选出该号码是哪个数据库的了

DECLARE @DBName NVARCHAR(255)
DECLARE @SQL NVARCHAR(MAX)DECLARE @PhoneNumber NVARCHAR(20) = '177xxxxxxx248' -- 要查询的手机号码DECLARE DatabaseCursor CURSOR FOR
SELECT name FROM sys.databases WHERE state_desc = 'ONLINE' AND name NOT IN ('master', 'tempdb', 'model', 'msdb')OPEN DatabaseCursor
FETCH NEXT FROM DatabaseCursor INTO @DBNameWHILE @@FETCH_STATUS = 0
BEGINSET @SQL = 'IF EXISTS (SELECT * FROM [' + @DBName + '].sys.tables WHERE name = ''oa_member'' AND schema_id = SCHEMA_ID(''dbo'')) BEGIN IF EXISTS (SELECT * FROM [' + @DBName + '].dbo.oa_member WHERE phone = ''' + @PhoneNumber + ''') BEGIN PRINT ''' + @DBName + ' 有号码 ' + @PhoneNumber + ''' END END'EXEC sp_executesql @SQLFETCH NEXT FROM DatabaseCursor INTO @DBName
ENDCLOSE DatabaseCursor
DEALLOCATE DatabaseCursor

image-20240418100744830

看到这里,就知道这个号码是属于哪个客户的了

只需要进入ChangShuZhiTangBaoQinChanSi数据库对oa_member表进行查询的同时通过phone字段过滤,就能查到该号码对应的信息了

use ChangShuZhiTangBaoQinChanSi
goselect * from oa_member where phone ='177xxxxx248'
go

image-20240418101552668

搞定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/1635.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实测52.4MB/s!全志T3+FPGA的CSI通信案例分享!

CSI总线介绍与优势 CSI(CMOS sensor parallel interfaces)总线是一种用于连接图像传感器和处理器的并行通信接口,应用于工业自动化、能源电力、智慧医疗等领域,CSI总线接口示意图如下所示(以全志科技T3处理器的CSI0为…

2024年51cto视频如何提取

2024年,对于如何提取51cto网站上的视频,许多人都选择在该平台购买自己所需的学习视频。然而,在51cto网页上观看视频将消耗用户的流量。为了解决这一问题,我开发了名为小白51cto工具的软件,使用户能够轻松将视频下载到本…

如何增强Java GCExcel API 的导入和导出性能

前言 GrapeCity Documents for Excel (以下简称GcExcel) 是葡萄城公司的一款服务端表格组件,它提供了一组全面的 API 以编程方式生成 Excel (XLSX) 电子表格文档的功能,支持为多个平台创建、操作、转换和共享与 Microsoft Excel 兼容的电子表格&#xf…

web前端(简洁版)

0. 开发环境 && 安装插件 这里我使用的是vscode开发环境 Auto Rename Tag是语法自动补齐view-in-browser是快速在浏览器中打开live server实时网页刷新 1. HTML 文件基本结构 <html><head><title>第一个页面</title></head><body&g…

开源事件通知库libevent及网络连接管理模块bufferevent详解

目录 1、libevent介绍 1.1、什么是libevent&#xff1f; 1.2、libevent特点 1.3、网络连接管理模块bufferevent 2、bufferevent有什么用&#xff1f; 3、bufferevent的整体设计与实现细节 3.1、整体概况 3.2、evbuffer与bufferevent 3.3、defer callback 4、bufferev…

python爬虫之爬取微博评论(4)

一、获取单页评论 随机选取一个微博&#xff0c;例如下面这个 【#出操死亡女生家属... - 冷暖视频的微博 - 微博 (weibo.com) 1、fnf12&#xff0c;然后点击网络&#xff0c;搜索评论内容&#xff0c;然后预览&#xff0c;就可以查看到网页内容里面还有评论内容 2、编写代码…

【C#】rdlc报表答应报错:未能加载文件或程序集“Microsoft.SqlServer.Types

文章目录 一、报错信息二、解决方式 一、报错信息 Microsoft.Reporting.WinForms.LocalProcessingException: An error occurred during local report processing. —> Microsoft.Reporting.DefinitionInvalidException: The definition of the report ‘’ is invalid. —&…

Vmware 虚拟机自定义IP地址 - UbuntuServer2204

Vmware 虚拟机自定义IP地址 - UbuntuServer2204 设置网段 选择喜欢的网段&#xff0c; 例如&#xff1a; 166 自定义 IP地址 打开虚拟机&#xff0c; 输入命令查看网卡名 ip addr查看网卡配置文件 ls -al /etc/netplan/编辑网卡配置文件 sudo vim /etc/netplan/00-installe…

C++ //练习 12.20 编写程序,逐行读入一个输入文件,将内容存入一个StrBlob中,用一个StrBlobPtr打印出StrBlob中的每个元素。

C Primer&#xff08;第5版&#xff09; 练习 12.20 练习 12.20 编写程序&#xff0c;逐行读入一个输入文件&#xff0c;将内容存入一个StrBlob中&#xff0c;用一个StrBlobPtr打印出StrBlob中的每个元素。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工…

《从零开始的Java世界》07常用类与基础API

《从零开始的Java世界》系列主要讲解Javase部分&#xff0c;从最简单的程序设计到面向对象编程&#xff0c;再到异常处理、常用API的使用&#xff0c;最后到注解、反射&#xff0c;涵盖Java基础所需的所有知识点。学习者应该从学会如何使用&#xff0c;到知道其实现原理全方位式…

电脑显示有音量但是没有声音?5个方法足够解决问题!

“为什么我的电脑明明打开了声音&#xff0c;但是我看视频时却没有任何声音呢&#xff1f;应该怎么解决呀&#xff1f;” 在日常使用电脑的过程中&#xff0c;电脑声音的正常播放是很重要的&#xff0c;我们无论是听音乐还是看电影&#xff0c;都是离不开电脑声音的。遇到电脑显…

iOS 在OC旧项目中使用Swift进行混编

iOS 在OC旧项目中使用Swift进行混编 1、创建桥接文件 ​ 第一次在Swift创建OC文件&#xff0c;或者第一次OC创建Swift时&#xff0c;xcode会提示桥接&#xff0c;Creat Bridging Header即可,这个文件用于Swift调用OC文件&#xff0c;与OC调用Swift无关。 2、在TARGETS中设置D…

Linux文件系统 软硬链接

文章目录 文件背景知识磁盘文件磁盘物理结构磁盘存储结构对磁盘的存储进行逻辑抽象Boot BlockSuper blockData blocksInode TableBlcokBitmapinode BitmapGroup Descriptor Table 文件名和inode编号创建文件删除文件查找文件 软硬链接软链接硬链接查看文件信息stat命令取消软硬…

玩转智能:深度强化学习在游戏AI中的应用

玩转智能&#xff1a;深度强化学习在游戏AI中的应用 1 引言 1.1 简述深度强化学习(DRL)在游戏AI中的革命性影响。 当我们回顾人工智能的发展历程&#xff0c;可以明显地看到深度强化学习&#xff08;Deep Reinforcement Learning, DRL&#xff09;的出现&#xff0c;在游戏AI…

【埋点探针】微信小程序SDK安装

一、下载微信小程序SDK埋点代码 选择Wechat&#xff0c;复制sdk代码 在项目根目录下&#xff0c;创建sdk文件&#xff0c;webfunny.event.js 二、在app.js文件中&#xff0c;引入埋点SDK代码 首先引入sdk代码 require("./webfunny.event.js")引入兼容代码&#x…

DHT11实验

文章目录 11.11.2 234 DS18B20 只能检测温度 右边这几个 都能 1 1.1 数字信号输出 指 0/1使用单总线通信 1个IO口就能获取温湿度 T/H要有 模数转化&#xff08;内部还有个8位单片机&#xff09;电容感湿元件 白色的 还有个ic NTC测温 可能在ic内部 使用单片机内部测温 精确度不…

STM32存储左右互搏 SDIO总线FATS文件读写SD/MicroSD/TF卡

STM32存储左右互搏 SDIO总线FATS文件读写SD/MicroSD/TF卡 SD/MicroSD/TF卡是基于FLASH的一种常见非易失存储单元&#xff0c;由接口协议电路和FLASH构成。市面上由不同尺寸和不同容量的卡&#xff0c;手机领域用的TF卡实际就是MicroSD卡&#xff0c;尺寸比SD卡小&#xff0c;而…

基于STM32温控风扇冷却系统设计

摘要&#xff1a; 在当前社会&#xff0c;随着大家对生活质量的追求和环保意识的加强&#xff0c;温控风扇作为一种节能产品备受社会的关注。温控风扇广泛应用于工业生产、家用电器、医疗美容设备和公共场所&#xff0c;提高了人们的生活效率和生活上的便利。这篇文章是根据单…

【网络协议】 TCP与UDP协议区别及应用场景深度分析

1. TCP与UDP简介 1.1 TCP 1.1 定义 TCP&#xff08;TransmissionControl Protocol&#xff09;传输控制协议。 是一种可靠的、面向连接的协议&#xff08;eg:打电话&#xff09;、传输效率低全双工通信&#xff08;发送缓存&接收缓存&#xff09;、面向字节流。使用TCP的应…

电子印章盖骑缝章

电子印章盖骑缝章是指在电子文档&#xff08;如PDF文件&#xff09;中&#xff0c;使用电子印章技术&#xff0c;为文档添加一个跨越多页、连续显示的电子印章图像&#xff0c;以模拟传统纸质文档上的骑缝章效果。以下是实现电子印章盖骑缝章的步骤&#xff1a; 一. 准备电子印…