我可以在SQL Server Management Studio中执行存储过程,但我无权查看它的定义。
如何确定每个返回列的数据类型?
我可以看到输入参数类型,但不能查看返回行的类型。
答案 0 :(得分:0)
我可能会错误地提出您的问题,但我会尝试回答这个问题,也许这不是一个解决方案,但至少可以尝试......
您可以使用编程语言并调用存储过程,例如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
答案 1 :(得分:-1)
此表“sys.parameters”将为您提供有关SP的所有详细信息。
谢谢!