...
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象, 在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升。
注意info | ||||||
---|---|---|---|---|---|---|
| ||||||
大部分数据库比如:mySQL、SQL Server、
| ||||||
1、如果模型原先是直连模式,增加了存储过程查询,会强制变成抽取模式;详情可查阅: 直连&抽取 2、如果存储过程有参数,可参考参数管理进行参数映射 |
2 存储过程取数
示例说明:用户创建一个名为“FindCustomer”存储过程,用它来找出数据库Customer表中的ContactName;
- 诉求:找出CustomerID为指定值(输入参数)的记录的ContactName字段的名称
以产品自带northwind数据库创建存储过程FindCustomer,如下图:
以产品自带northwind数据库自带的 ”根据产品类别ID获取产品信息“ 存储过程 northwind.sp_getProductInfow 为示例进行说明。
2.1 前提条件
1.需要先在Smartbi系统中的数据连接中对所需数据库进行数据库管理,选择所需的存储过程资源:
2. 对所选存储过程进行管理1、需要先在Smartbi系统中的 数据连接 中的 数据库管理,选择所需的存储过程资源,具体操作可查看:数据库管理。
2、对所选存储过程进行管理,“存储过程管理”窗口中通过 自动检测 和 检测结果集 按钮分别检测出相关的参数和获取存储过程的结果集,详细可参考:存储过程数据集按钮分别检测出相关的参数和获取存储过程的结果集:
3. 点击【确定】在资源树上会看到该存储过程已经有结果集了: 点击 确定 在资源树上会看到该存储过程已经有结果集了:
2.2 具体操作
1)创建数据模型,并添加“存储过程查询”:
- 必须确保在“存储过程管理”窗口中通过 自动检测 和 检测结果集 按钮分别检测出相关的参数和结果集,左侧资源区才会出现可选资源。
- 填写好默认值,点”执行“,可以预览对用的数据;
...
1、创建数据模型,并添加“存储过程查询”:
- 选择结果集,如果没有出现结果集,请检查是否 做了 2.1章节 内容。
- 参数默认值:把存储过程结果集,拖拽到到编辑器,会自动检测是否定义了参数、以及参数默认值是否必填; 如果参数默认值是必填的,必须填写参数默认值才能执行成功 以及 预览数据。示例的参数默认值是必填的,给默认值填写”1“,能正常查出数据。
2、如果要想 回到模型,建议先 保存 再回到模型; 保存之后可以在关系视图中选中该查询、右键菜单做更多操作,详细查看:设置及修改查询,或者构建数据模型。
...
3、如果在模型中没有映射参数,会一直以默认值的结果集输出数据;如果在模型中的【参数管理】进行了关联映射,可以随着模型设置的默认值改变输出结果集;具体可参考:参数管理
...
3)最终出来的效果:
。
注意 |
---|
|
...