遍历数据库中的用户存储过程,获得每个存储过程的参数名、参数类型、存储过程名称等信息以xml的形式保存
来源:互联网 发布:全真教 知乎 编辑:程序博客网 时间:2024/05/17 07:40
遍历数据库中的用户存储过程,获得每个存储过程的参数名、参数类型、存储过程名称等信息以xml的形式保存 主要解答者: zjcxc 提交人: zjcxc 感谢: j9988、zjcxc 审核者: gmlxf 社区对应贴子: 查看 A :
小弟想要能够遍历数据库中的用户存储过程,希望能够获得每个存储过程的参数名、参数类型、存储过程名称等信息
以xml的形式保存,用于对数据库的映射
有谁知道吗?分不够可以加。
---------------------------------------------------------------
use 数据库名
go
--存储过程结构生成XML文档
create table ##tb(re varchar(8000))
insert into ##tb
select '<?xml version=''1.0'' encoding="gb2312"?>
<数据库>'+db_name()
insert into ##tb
select case b.colid when 1 then '<存储过程名称>'+a.name else ' ' end+'
<参数 参数名称="'+b.name
+'" 参数类型="'+c.name
+case when c.name in ('binary','char','nchar','nvarchar','varbinary','varchar','float','real')
then '('+cast(b.prec as varchar)+')'
when c.name in ('decimal','numeric')
then '('+cast(b.prec as varchar)+','+cast(b.scale as varchar)+')'
else '' end+'"></参数>'
+case b.colid when (select max(colid) from syscolumns where id=a.id)
then '
</存储过程名称>' else '' end
from sysobjects a
join syscolumns b on a.id=b.id
join systypes c on b.xusertype=c.xusertype
where a.xtype='P' and a.status>=0
order by a.name,b.colid
insert into ##tb values('</数据库>')
exec master..xp_cmdshell 'bcp ##tb out c:/a.xml /c'
drop table ##tb
小弟想要能够遍历数据库中的用户存储过程,希望能够获得每个存储过程的参数名、参数类型、存储过程名称等信息
以xml的形式保存,用于对数据库的映射
有谁知道吗?分不够可以加。
---------------------------------------------------------------
use 数据库名
go
--存储过程结构生成XML文档
create table ##tb(re varchar(8000))
insert into ##tb
select '<?xml version=''1.0'' encoding="gb2312"?>
<数据库>'+db_name()
insert into ##tb
select case b.colid when 1 then '<存储过程名称>'+a.name else ' ' end+'
<参数 参数名称="'+b.name
+'" 参数类型="'+c.name
+case when c.name in ('binary','char','nchar','nvarchar','varbinary','varchar','float','real')
then '('+cast(b.prec as varchar)+')'
when c.name in ('decimal','numeric')
then '('+cast(b.prec as varchar)+','+cast(b.scale as varchar)+')'
else '' end+'"></参数>'
+case b.colid when (select max(colid) from syscolumns where id=a.id)
then '
</存储过程名称>' else '' end
from sysobjects a
join syscolumns b on a.id=b.id
join systypes c on b.xusertype=c.xusertype
where a.xtype='P' and a.status>=0
order by a.name,b.colid
insert into ##tb values('</数据库>')
exec master..xp_cmdshell 'bcp ##tb out c:/a.xml /c'
drop table ##tb
- 遍历数据库中的用户存储过程,获得每个存储过程的参数名、参数类型、存储过程名称等信息以xml的形式保存
- 根据存储过程的参数名得到存储过程的参数信息???????
- xml 形式的参数 修改存储过程的创建
- xml 形式的参数 删除存储过程的创建
- xml形式参数 添加存储过程的创建
- xml 形式的存储过程
- 得到存储过程的参数信息
- 存储过程参数Text类型的长度
- 修改存储过程的指定参数类型
- c#调用数据库中的带返回(output参数形式)存储过程的demo
- SQL 数据库中的存储过程的参数问题(case when)
- 存储过程参数的默认值
- 存储过程参数的默认值
- MySQL存储过程的参数
- 带有参数的存储过程
- 存储过程的各类参数
- 带参数的存储过程
- 带参数的存储过程
- treo palm手机的控制码
- Windows管道技术
- GetStartupInfo
- Tomcat5配置Mysql JDBC数据库连接池
- 巧取主机MAC地址
- 遍历数据库中的用户存储过程,获得每个存储过程的参数名、参数类型、存储过程名称等信息以xml的形式保存
- MS-SQL Server 基础类 - SQL语句
- 如何得到任意一个存储过程的参数列表的
- 堆(heap)和栈(stack)有什么区别??
- typedef的用法
- February 2006
- 终于在visual studio.net 2005 找到了创建 XML Web services 的项目的方法
- 龚昇:数学历史的启示
- 快餐和IT文化的思考