有时候调试sql, 有一连串的存储过程调用,这时候想知道某个存储过程被其它哪几个存储过程调用时,或者想知道某个表在哪些存储过程里被使用过; 这时候我们就需要一个工具,来检索存储过程的sql脚本;
编写存储代码 如下:
Declare @proc_name varchar(100)
Declare @fuction_name varchar(100)
Declare @seek_text varchar(100)
set @fuction_name='tableName' --要查找的字符串
set @seek_text=@fuction_name
Declare @sql varchar(8000)
Create table #proc_count(proc_name varchar(100),fuction_name varchar(100),[text] varchar(7000))
Create table #proc_text([text] varchar(8000))
Declare Cursor_Function cursor
for
select quotename(name) from sys.sysobjects where xtype='P'
Open Cursor_Function
Fetch next from Cursor_Function into @proc_name
While @@fetch_status=0
Begin
truncate table #proc_text
set @sql=''
set @sql=@sql+'
insert into #proc_text([text])
exec sp_helptext '+''''+@proc_name+''''+'
If exists(select 1 from #proc_text where [Text] like '+''''+'%'+@seek_text+'%'+''''+')
begin
insert into #proc_count(proc_name,fuction_name,[text])
select '+''''+@proc_name+''''+','+''''+@fuction_name+''''+','+'[text]
from #proc_text
where [Text] like '+''''+'%'+@seek_text+'%'+''''+'
end'
print @sql
exec (@sql)
Fetch next from Cursor_Function into @proc_name
end
close Cursor_Function
deallocate Cursor_Function
select distinct proc_name,fuction_name from #proc_count
order by proc_name
drop table #proc_count
drop table #proc_text
注:以上脚本在sqlserver中实现
分享到:
相关推荐
在我们的例子中,我们将创建一个Sub,它会遍历选定的区域,寻找特定的字符串并改变找到的单元格的背景颜色。 下面是一个简单的VBA代码示例,实现了这个功能: ```vba Sub FindAndHighlightString() Dim rng As ...
如果在某次比较中这两个字符不相等,则意味着当前字符串不是回文字符串,此时将变量$l设置为0,并跳出循环。 循环结束后,根据变量$l的值来判断字符串是否为回文。如果$l等于1,即循环正常结束后没有遇到字符不匹配...
该函数用于等待屏幕上的字符串,WaitForString 函数是单字符串判断,KeyString 是需要查找的关键字,timewaiting 是一个超时阀值。如果在指定的时间内没有检测到关键字,就执行下一条语句。如果改成:crt.Screen....
存储过程支持多种变量类型,包括数字、字符串和日期等,并提供了丰富的错误处理机制。 #### 二、存储过程的基本结构 创建一个存储过程的基本语法如下: ```sql CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数...
本文将围绕Tcl脚本的基础语法、变量管理、表达式处理、列表操作、控制流结构、过程定义、字符串处理以及文件操作等方面展开详细介绍。 #### 一、TCL语法基础 **脚本、命令和单词符号** Tcl脚本是由一系列命令组成...
VBScript只有一个内置数据类型,即Variant,它可以根据上下文自动适应各种数据类型,如数字、字符串等。这意味着你可以直接使用Variant类型的变量存储不同类型的数据,无需显式转换。Variant类型使得VBScript的代码...
变量是存储信息的地方,而数据类型则是定义变量可以存储何种类型的数据,如数字、字符串、布尔值等。理解它们的关系和使用方式对于编写任何程序都至关重要。 接下来,你会接触到流程控制结构,包括条件语句(如if.....
根据给定的信息,本文将详细解释“计算某天是星期几自动开启脚本”的核心概念、实现原理及其在ROS系统中的应用。 ### 核心概念与背景 在自动化任务管理中,经常需要根据时间的不同来执行不同的脚本或任务。例如,...
循环结构如`for`和`while`也常用于Shell脚本中,用于重复执行某段代码直至满足特定条件。 #### 七、Shell脚本与C语言的协同 尽管Shell脚本在处理文本、文件和系统管理方面表现出色,但在复杂的算法和数据处理上,...
7. **grep**:在文件中搜索特定字符串。 8. **find**:根据各种条件查找文件。 9. **cat**:查看或连接文件内容。 10. **more/less**:分页查看文件内容。 四、Shell脚本的结构 一个基本的Shell脚本通常包含以下...
// 正则表达式,用于匹配长度至少为8个字符的字符串 if(!lg.test(userName)){ // 检查用户名长度是否不足8个字符 alert(",ûȲС8"); // 如果是,则弹出提示信息 }elseif(!AW.test(userName)){ // 检查用户名是否...
循环(如for和while)用于重复执行某段代码;函数则可以封装一组命令,便于复用;重定向允许我们改变命令输出或错误的标准流向。 在Shell脚本中,常用的命令包括`cd`(改变目录)、`ls`(列出目录内容)、`echo`...
- **循环结构(f or, while)**:用于重复执行某段代码直到满足特定条件。 - **菜单**:创建用户交互式的选项选择。 - **用户输入检查**:验证用户输入的合法性。 - **文件、字符串和正则表达式比较**:用于数据的匹配...
循环语句(for、while)用于重复执行某段代码,直到满足特定条件为止。此外,switch语句提供了一种更简洁的多分支选择方式。跳转语句(break、continue)则可以在循环中改变执行流程。 函数在JavaScript中扮演着...
在Shell脚本中,变量用于存储数据,可以是数字、字符串甚至其他复杂类型。教程会涵盖如何声明和赋值变量,以及如何使用环境变量和位置参数。 然后,会介绍控制流程结构,包括条件语句(if...else)和循环语句(for...
IF-THEN-ELSIF-ELSE结构用于条件判断,WHILE和FOR循环用于重复执行某段代码,CASE语句提供了更灵活的条件选择。此外,GOTO语句虽然不推荐使用,但在某些场合也是可用的。 PLSQL的块结构是其核心特性,有匿名块和...
它们是脚本实现动态功能的基础,并且所有变量值都是字符串形式。 - **分类**: - **系统变量**:Shell内部定义的特殊变量,如`$0`表示脚本名称。 - **环境变量**:在整个Shell会话期间都有效的变量,如`PATH`。 ...
循环结构**:包括`for`循环和`while`循环,用于重复执行某段代码直到满足特定条件为止。 **4.3. 跳转**:LSL不直接支持`goto`语句,而是通过状态机的概念来实现跳转逻辑。 **4.4. 状态改变**:状态改变通过`STATE...