最近在维护一个电商平台,需要对订单表增加字段,但是在review代码的时候发现这个平台的代码写的很有提升价值,且大量的使用了视图和存储过程,所以也给刚接触这个平台的萌新,也就是俺,造成了不小的困扰,毕竟有针对性的调整表结构的时候,最好是要找到表相关的所有识图还有存储过程,以便在做调整之后,准确识别那些需要做调整,那些不需要做调整。

考虑到全部识别表所在的识图以及存储过程,瓦就想到了是否可以整个SQL,直接把查出来表对应的视图和存储过程,毕竟瓦是辣么懒,实在不想一个一个的点开视图,然后再搜索。BTW为啥不根据视图或存储过程确认,是因为明明太暧昧,我看了完全不知道这是要干嘛的。

一番云雨之后,产物:

begin
declare @a int,@error int
declare @temp varchar(50)
DECLARE @targetTable VARCHAR(100)
set @a=1
set @error=0
SET @targetTable='你想在存储过程和视图查询的表明' --判断临时表是否存在
if exists (select * from tempdb..sysobjects where id=object_id('tempdb..#P_Vtable'))
-- 删除表
drop table #P_Vtable
--临时表用于存放包含检索表的识图和存储过程
CREATE TABLE #P_Vtable([text] VARCHAR(100))
--申明游标为Uid
declare order_cursor cursor
for (SELECT OBJECT_NAME(id) FROM syscomments WHERE id in (select id from sysobjects where type in('V','P')))
--打开游标--
open order_cursor
--开始循环游标变量--
fetch next from order_cursor into @temp
while @@FETCH_STATUS = 0 --返回被 FETCH语句执行的最后游标的状态--
begin
CREATE TABLE #temptable([text] TEXT) INSERT INTO #temptable([text])
EXEC sp_helptext @temp DECLARE @targetCount INT
SELECT @targetCount=COUNT(1)
FROM #temptable
WHERE text LIKE '%'+@targetTable+'%' DROP TABLE #temptable IF @targetCount>0
BEGIN
INSERT INTO #P_Vtable([text])
VALUES (@temp)
END set @a=@a+1
set @error= @error + @@ERROR --记录每次运行sql后是否正确,0正确
fetch next from order_cursor into @temp --转到下一个游标,没有会死循环
end
close order_cursor --关闭游标
deallocate order_cursor --释放游标
SELECT DISTINCT [text] FROM #P_Vtable
END

好了,列位如果有意见,尽管留言,毕竟我也是个爱学习,爱上进的萌新。

SQLServer如果查询表相关的视图以及存储过程的更多相关文章

  1. sqlserver删除所有表、视图、存储过程

    declare proccur cursor     for         select [name] from sysobjects where type='P' declare @procnam ...

  2. 刷新SQL Server所有视图、函数、存储过程 更多 sql 此脚本用于在删除或添加字段时刷新相关视图,并检查视图、函数、存储过程有效性。 [SQL]代码 --视图、存储过程、函数名称 DECLARE @NAME NVARCHAR(255); --局部游标 DECLARE @CUR CURSOR --自动修改未上状态为旷课 SET @CUR=CURSOR SCROLL DYNAMIC FO

    刷新SQL Server所有视图.函数.存储过程 更多   sql   此脚本用于在删除或添加字段时刷新相关视图,并检查视图.函数.存储过程有效性. [SQL]代码 --视图.存储过程.函数名称 DE ...

  3. 获取MSSQL Server中的相关信息(视图、存储过程、触发器、表)

    在SQL SERVER得到某个数据库下面所有的表.视图.存储过程.触发器 select name from sysobjects where xtype='TR' --所有触发器select name ...

  4. sqlserver总结-视图及存储过程

    视图中不能声明变量,不能调用存储过程,如果写比较复杂的查询,需要应用存储过程 视图也可以和函数结合 存储过程通过select或其他语句返回结果集 除此之外,存储过程返回结果只有两种方式 1 retur ...

  5. 【T_SQL】 基础 视图、存储过程、触发器

    合作对于我来说,真的很重要,不仅仅是我从中学到了什么技术,更加重要的是我从中学到了如何去协调,如何去处理团队之间的关系,不要误会,我不是组长,但是我们每个人都是组长.在漫长的编译代码的过程中,真的很烦 ...

  6. T-SQL应用,视图、存储过程、触发器、游标、临时表等

    sqlserver常用操作: 视图.存储过程.触发器.函数 --*********************批处理********************* --[在一个批处理中存有一个语法错误,则所有 ...

  7. day40 mycql 视图,触发器,存储过程,函数

    视图,触发器,存储过程,自定义函数 -- 回顾 1.mysql 约束 1.非空 not null 2. 主键约束 primary key 3. 唯一约束 unique 4. 外键约束 foreign ...

  8. SQLSERVER中常用的系统视图

    QLServer中提供了相当丰富的系统视图,能够从宏观到微观,从静态到动态反应数据库对象的存储结果.系统性能.系统等待事件等等.同时 也保留了与早期版本兼容性的视图,主要差别在于SQLServer20 ...

  9. 查询SQLServer2005中某个数据库中的表结构、索引、视图、存储过程、触发器以及自定义函数

    查询SQLServer2005中某个数据库中的表结构.索引.视图.存储过程.触发器以及自定义函数 2013-03-11 09:05:06|  分类: SQL SERVER|举报|字号 订阅     ( ...

随机推荐

  1. 初识gauge自动化测试框架(二)

    看到一些同学对该工具有点一兴趣,那么我将继续介绍Gauge自动化测试工具. Gauge本质上一个BDD(Behavior Driven Development)测试框架.所以,首先你要了解BDD的操作 ...

  2. Django(八)上:Model操作和Form操作

    ↑↑↑点上面的”+”号展开目录 Model和Form以及ModelForm简介 Model操作: 创建数据库表结构 操作数据库表 做一部分的验证 Form操作: 数据验证(强大) ModelForm ...

  3. Python视频人脸检测识别

    案例 这里我们还是使用 opencv 中自带了 haar人脸特征分类器,通过读取一段视频来识别其中的人脸. 代码实现:   动图有点花,讲究着看吧:   如果是捕捉摄像头,只需要改变以下代码即可: c ...

  4. DAY30、网络编程

    一.网络编程 软件开发 c/s架构 c:客户端 s:服务端 b/s架构 b:浏览器 s:服务端 本质:b/s其实也是c/s 服务端:24小时不间断提供服务,谁来救服务谁 客户端:想什么时候体验服务,就 ...

  5. 解决IOS微信浏览器底部会出现向前向后返回按钮,返回不刷新的问题

    <script type="text/javascript"> //解决IOS返回页面不刷新的问题 var isPageHide = false; window.add ...

  6. CentOS_7下安装MySQL

    卸载旧版本MySQl: 下载MySQ: MySQl官网:https://dev.mysql.com/downloads/mysql/ 版本自选,操作系统选Linux-Generic,64位系统或者32 ...

  7. Docker常用镜像

    Docker,具有快捷方便的特性,机器上不需要安装软件和进行各种配置,拉取镜像,一行命令即可启动服务,不使用时,一行命令关闭容器即可,快捷方便,干净.利索.建议将本地的redis.mysql.kafk ...

  8. 【算法】欧几里得算法与青蛙约会oj

    欧几里得和扩展欧几里得算法 题目: poj 1061 poj 2142 双六 扩展欧几里得算法详解 先说欧几里得算法:欧几里得算法辗转相除求\(gcd\).求\(a.b\)的\(gcd\),则利用的性 ...

  9. found 12 vulnerabilities (7 moderate, 5 high) run `npm audit fix` to fix them, or `npm audit` for details

    npm 安装包之后,如果出现类似下面的信息 found 12 vulnerabilities (7 moderate, 5 high) run `npm audit fix` to fix them, ...

  10. emwin之创建窗口与窗口回调函数的句柄是一致的

    @2019-04-28 [小记] 由函数GUI_CreateDialogBox 创建的窗口所返回的句柄与回调函数形参中的窗口句柄参数是一样的