页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象, 在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升。

信息
title前置条件


数据库类型

数据库权限要求

常用数据库:mySQL、SQL 1、常用数据库:mySQL、SQL Server、Oracel、DB2等其他数据库

2、支持的数据库请查阅:支持的数据源范围

要求连接用户必须具有访问DBC.TABLES、DBC.COLUMNS的权限,及调用Exec方法的权限。

指定数据库:Teradata

要求连接用户必须具有调用getProcedureColumns和Call方法的权限。


1、如果模型原先是直连模式,增加了存储过程查询,会强制变成抽取模式;详情可查阅:  直连&抽取

2、如果存储过程有参数,可参考参数管理进行参数映射

...

3.1 检测参数的调用方法

数据库类型

存储过程获取参数

大部分数据库:mySQL、SQL 1、常用数据库:mySQL、SQL Server、

Oracel、DB2等其他数据库

支持的数据库请查阅:2、支持的数据库请查阅:支持的数据源范围

调用JDBC中的标准方法: connection.getMetaData().getProcedureColumns(...)。

指定数据库:Teradata

Teradata JDBC接口没有直接提供获取宏参数和字段的方法,所以是通过执行以下SQL语句数据集获得参数的:

SELECT C.* FROM DBC.TABLES T, DBC.COLUMNS C
WHERE

T.DATABASENAME=? AND T.TABLENAME=? AND

T.TABLEKIND='M'  AND T.DATABASENAME=C.DATABASENAME AND T.TABLENAME=C.TABLENAME

...

1、检测结果集:在前端弹出界面让用户输入参数后,真正的执行一次存储过程而获得输出字段

数据库类型

存储过程执行过程

大部分数据库比如:mySQL、SQL 1、常用数据库:mySQL、SQL Server、

Oracel、DB2等其他数据库

2、支持的数据库请查阅:支持的数据源范围

调用JDBC中的标准方法:
connection.prepareCall("{Call procName(?,?)}")

Teradata 指定数据库:Teradata

调用下面语句执行宏:
connection.prepareStatement("{Exec macroName(?,?)}")

...