我可以在 SQL Server Management Studio 中执行存储过程,但我无权查看它的定义。
如何确定每个返回列的数据类型?
我可以看到输入参数类型,但看不到返回行的类型。
我可以在 SQL Server Management Studio 中执行存储过程,但我无权查看它的定义。
如何确定每个返回列的数据类型?
我可以看到输入参数类型,但看不到返回行的类型。
我可能把你的问题弄错了,但我会试着回答这个问题,也许这不是一个解决方案,但至少是一个尝试......
您可以使用编程语言并调用存储过程,例如Java。并使用ResultSetMetaData
.
ResultSet rs = ...
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
String columnLabel = rsmd.getColumnLabel(1);
String columnName = rsmd.getColumnName(1);
int columnType = rsmd.getColumnType(1);
String columnTypeName = getColumnTypeName(1);
etc
这当然是因为我假设您无权以任何方式检查存储过程(无权访问系统表等。但您拥有的唯一访问权限是您可以运行 SP)。
http://docs.oracle.com/javase/6/docs/api/java/sql/ResultSetMetaData.html
此表“sys.parameters”将为您提供有关 SP 的所有详细信息。
谢谢 !