易截截图软件、单文件、免安装、纯绿色、仅160KB

sql查询所有存储过程内容 利用游标和临时表


Use 数据库
DECLARE @ProcName varchar(50)
Create Table #tmpName(Content varchar(2000))
Create Table #tmp(ProcName varchar(2000),Content1 varchar(8000))
--定义一个游标
DECLARE SearchProc CURSOR FOR
--查询数据库中存储过程的名称,尽量去除系统PROC,可以根据crdate时间字段来寻找非系统PROC
select name from sysobjects where type='P' and name not like 'dt_%'
OPEN SearchProc
FETCH NEXT from SearchProc
INTO @ProcName
WHILE @@FETCH_STATUS >=0
BEGIN
    Print @ProcName
    Insert Into #tmpName(Content) Exec sp_helptext @ProcName
    Insert Into #tmp(ProcName,Content1) select @ProcName,#tmpName.Content from #tmpName
    --填充完就清空一下临时表
    Truncate table #tmpName
    FETCH NEXT from SearchProc
    INTO @ProcName
END
CLOSE SearchProc
DEALLOCATE SearchProc
GO
select ProcName from #tmp where Content1 like '%查找内容%' group by ProcName
select ProcName,Content1 from #tmp where Content1 like '%查找内容%'
select ProcName,Content1 from #tmp where procname='存储过程名称'
--删除临时表
Drop Table #tmpName
Drop Table #tmp


相关文档:

Sql2005/08 表结构 SQL 语句

SELECT
(case when a.colorder=1 then d.name
--+'('+cast(h.value as nvarchar)+')'
else '' end)表名,
a.colorder 字段序号,
a.name 字段名,
isnull(g.[value],'') AS 字段说明,
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,
(case whe ......

安装SQL Server 2000时三种常见出错信息及解决方法

情况:我以前安装过SQL Server 2000,哦,还有SQL Server 2005、MySQL呢,后来系统重装了,不过这些应用程序都在E盘里,不在系统盘里,就在安装的时候出现如下三个错误,在此逐个解决说明如下:
问题一:
报错信息:以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机。
解决方 ......

SQL WHERE 1=1

1=1或者'a'='a'等等恒等式是T-SQL中表达true的方法。因为在T-SQL中没有true这样的关键
字或值,所以需要借助这些恒等式来表达true的概念。
相对的,同样可以使用1<>1或者1=2等来表达false。
在应用程式的安全性方面,使用这些式子是SQL注入的基本原理,所以在拼接SQL语句的时候要过滤各种各样的敏感字
符。
当然 ......

实现多行合并一行的SQL写法

[ORACLE]
项目中遇到一个需求,需要将多行合并为一行。
表结构如下:
NAME                            Null           ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号