Rob*_*sen 5 sql-server postgresql
在 Microsoft Sql Server 中,有一个 proc sys.sp_describe_first_result_set,它接受一个任意的 sql 查询字符串并返回描述结果集中的类型的数据,如果它被执行。请注意,这是描述复杂查询的结果,而不是表。MSDN参考
Postgres 有类似的东西吗?
在协议层有——以扩展查询协议中的Describe消息的形式存在。
我不知道任意 SQL 字符串有任何 SQL 级别的等效项。不过这是个好主意;在 pgsql-general 上提出它。我怀疑这很容易实现。
事实上,快速查看exec_describe_statement_messageinsrc/backend/tcop/postgres.c就会发现大脑位于SendRowDescriptionMessage中src/backend/access/common/printtup.c。编写一个简单的 C 扩展来完成类似的工作并生成结果集应该不难。如果您熟悉代码库,希望几个小时就能完成;这个想法是:
RETURNINGDML 的节点,Query或者SELECT.ExecTypeFromTLresjunk通过在 tlist 中查找来跳过列,并为查询的每个非 resjunk 输出发出一行。| 归档时间: |
|
| 查看次数: |
497 次 |
| 最近记录: |