有没有办法自动找出存储过程的返回列名及其数据类型?
假设我的存储过程如下:
CREATE PROCEDURE `user_countries`()
BEGIN
select m.ID, m.Name, c.Country
from Member AS m, Country AS c
where m.CountryId = c.ID;
END$$
这会返回一个如下所示的表:
ID | Name | Country
-------------------------
1 John USA
2 Mary Australia
我需要能够查询我的存储过程,以便我可以看到类似下面的内容
ColName | Data Type
------------------------
ID | INT
Name | Varchar(50)
Country | Varchar(50)
我没有听说过类似于
表的存储过程可以做的任何事情描述会员;
有什么建议吗?
PS。这只是一个简单的例子,我需要分析数百个表和数百个不同复杂度的存储过程。
ANSWER 感谢下面评论中的@BishnuPaudel。
我通过c#.net连接到数据库,因此方法是查询从存储过程返回的数据,而不是通过mysql命令访问它。
使用msdn库中的示例
http://msdn.microsoft.com/en-us/library/system.data.datatable.columns(v=vs.110).aspx
我添加了column.DataType print语句以查看列的数据类型。
private void PrintValues(DataTable table) {
foreach (DataRow row in table.Rows)
{
foreach (DataColumn column in table.Columns)
{
Console.WriteLine(column.DataType);
Console.WriteLine(row[column]);
}
}
}
再次感谢。