TNHDB0002HANA存储过程说明Word格式.docx

上传人:b****4 文档编号:16598968 上传时间:2022-11-24 格式:DOCX 页数:11 大小:361.58KB
下载 相关 举报
TNHDB0002HANA存储过程说明Word格式.docx_第1页
第1页 / 共11页
TNHDB0002HANA存储过程说明Word格式.docx_第2页
第2页 / 共11页
TNHDB0002HANA存储过程说明Word格式.docx_第3页
第3页 / 共11页
TNHDB0002HANA存储过程说明Word格式.docx_第4页
第4页 / 共11页
TNHDB0002HANA存储过程说明Word格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

TNHDB0002HANA存储过程说明Word格式.docx

《TNHDB0002HANA存储过程说明Word格式.docx》由会员分享,可在线阅读,更多相关《TNHDB0002HANA存储过程说明Word格式.docx(11页珍藏版)》请在冰豆网上搜索。

TNHDB0002HANA存储过程说明Word格式.docx

LANG>

}{SQLSECURITY<

MODE>

}

{READSSQLDATA{WITHRESULTVIEW<

view_name>

}}AS

BEGIN

...

END

来源于《HA300_EN_Col97_FV_Show.pdf》第150页

<

是指存储过程执行的语句,主要是SQLScript、L或者是R语言,如果不指定,则默认SQLscript

是指definer和invoker,及定义者权限和调用者权限

READSSQLDATA定义存储过程为read-only

WITHRESULTVIEW是用于创建一个可用于sql语句的columnview,其数据集内容为存储过程的表类型输出参数所包含的数据集。

以下是创建实例

/*创建表类型CUSTOMER*/

CREATETYPE"

HNSD"

."

CUSTOMER"

ASTABLE("

CODE"

INTCS_INT)

/*创建存储过程ProcWithResultView,输出视图为ProcView*/

CREATEPROCEDUREProcWithResultView(INidINT,OUTo1CUSTOMER)

LANGUAGESQLSCRIPTREADSSQLDATA

WITHRESULTVIEWProcView

AS

BEGIN

o1=SELECT:

idasCODEFROMDUMMY;

END;

需要注意的是输入参数可以为基本类型和自定义table类型,输出参数可以为基本类型和自定义table类型,如果定义了resultView,则输出参数必须是table类型,并且该table类型已经定义完成。

执行创建sql后,存储过程将保存目录如下

1.2.创建向导

按下图打开存储过程创建向导

如上图所示,在创建页面有如下属性

Name:

存储过程名称

Description:

存储过程描述

DefaultSchema:

默认的Schema名称,建议选择用户所属的Schema,这个关系着在_SYS_BIC中的存储过程名称

RunWith:

Definer定义者权限,Invoker调用者权限,定义者权限将会限制其他用户调用该存储过程,调用者权限将允许系统向其他用户授权调用该存储过程。

AccessMode:

ReadOnly,Read-Wirter,但是在现使用studio中不可选

Language:

SQLScript,L,R,但是在现使用studio中不可选

如下图,为存储过程的脚本编辑视图

在向导创建存储过程中,输入参数可以为基本类型和自定义table类型,而输出参数必须为自定义table类型,并且该table类型无需预先定义,而是在参数定义栏中进行设置,在存储过程saveandvalidate过程中自动创建

创建完成后,保存目录如下

同时在_SYS_BIC下会生成如下对象

2.调用

2.1.SQLeditor

在SQLCONSOLE中调用方式如下

另外,如果定义了resultview,可以直接在sql语句中调用

SELECT*FROMProcViewWITHPARAMETERS('

placeholder'

=('

$$id$$'

'

3'

))

在存储过程中调用方式如下

tmp是存储过程中使用的临时参数,用于接收调用存储过程的输出结果集,然后该结果集可以在sql中直接调用。

该方式在saveandvalidate中报错,错误显示权限不足,原因尚未明确

在计算视图中调用

由上可以看出,计算视图实际上和存储过程类似,语法和结构都比较相近。

2.2.创建向导

在SQLCONSOLE中的调用方式如下

在向导中创建的存储过程,无法直接被调用,只能是调用_SYS_BIC中的生成对象,同时因为无法定义resultview,所以无法直接在sql中被调用

3.两种方式的区别和相同

●我们从存储过程的CreateStatement来分析这两种方式的相同和不同之处

SQLEditor

创建向导

从以上创建语句来看,两种方式的存储过程没有区别,脚本语法都是一致的。

从存储过程创建方式来分析,对比如下

功能

输入参数

可以为基本类型、自定义TABLE类型

相同

输出参数

只能为自定义TABLE类型

LANGUAGE

SQLSCRIPT,L,R

SQLSECURITY

definer,invoker

READSSQLDATA

Readonly

WITHRESULTVIEW

可以定义columnview

没法定义

修改

没法修改,只能drop、create

可以修改后重新active

4.动态SQL

4.1.动态SQL介绍

来源于《HA300_EN_Col97_FV_Show.pdf》第171页

4.2.动态SQL语法

4.3.动态SQL相关

根据介绍,动态SQL的执行结果无法与SQLScript变量绑定,也就是说如下语句是不合法的

另外,在创建向导所创的存储过程中,似乎无法使用动态SQL,如下面语句

报错信息为

5.条件&

循环

5.1.IF

5.2.WHILE

5.3.FOR

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1