@things-factory/integration-base 6.1.123 → 6.1.129
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/helps/integration/task/oracle-procedure.ja.md +139 -0
- package/helps/integration/task/oracle-procedure.ko.md +40 -29
- package/helps/integration/task/oracle-procedure.md +54 -56
- package/helps/integration/task/oracle-procedure.ms.md +48 -48
- package/helps/integration/task/oracle-procedure.zh.md +78 -80
- package/helps/integration/task/sleep.md +2 -2
- package/package.json +8 -8
@@ -1,141 +1,139 @@
|
|
1
1
|
# Oracle 存储过程任务
|
2
2
|
|
3
|
-
|
4
|
-
它根据数据类型返回数据列表或特定数据类型的值。
|
3
|
+
这是用于调用存储在 Oracle 数据库中的存储过程的任务,根据不同的数据类型返回数据列表或特定数据类型的值。
|
5
4
|
|
6
|
-
|
5
|
+
## 参数
|
6
|
+
|
7
|
+
### 存储过程代码
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
```
|
9
|
+
- 存储过程代码是根据*存储过程名称*和*参数*自动生成的代码,用户无需单独输入。
|
10
|
+
- 如果存储过程名称是*mcs.myproc*,并且具有参数*id*和*out_name*,则表示如下:
|
11
|
+
```text
|
12
|
+
mcs.myproc(:id, :out_name);
|
13
|
+
```
|
14
14
|
|
15
15
|
### 存储过程名称
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
|
17
|
+
- 指定存储过程的名称。
|
18
|
+
- 如果需要按包或用户名进行区分,使用'.'来分隔它们。
|
19
|
+
- 例子:
|
20
|
+
```text
|
21
|
+
mcs.myproc
|
22
|
+
```
|
22
23
|
|
23
24
|
### 参数
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
25
|
+
|
26
|
+
- 参数包括以下元素:
|
27
|
+
- 参数名称
|
28
|
+
- 输入/输出规范:IN、INOUT、OUT
|
29
|
+
- 参数类型:String、Number、Date、Cursor
|
30
|
+
- 值:如果变量是输入,则指定该输入的值。
|
31
|
+
- 最大大小:如果变量类型为 String 或 Buffer,则指定变量的最大大小。
|
30
32
|
|
31
33
|
#### 参数名称
|
32
34
|
|
33
|
-
|
34
|
-
例如
|
35
|
-
``sql
|
36
|
-
mcs.myproc(:id, :out_name);
|
37
|
-
```
|
38
|
-
id 和 out_name 是参数名。
|
35
|
+
参数名称指定存储过程中使用的参数的名称。在上面的示例中,“id”和“out_name”是参数名称。
|
39
36
|
|
40
|
-
###
|
37
|
+
### 输入/输出规范
|
41
38
|
|
42
39
|
指定变量是输入(IN)还是输出(OUT)。
|
43
40
|
|
44
41
|
### 参数类型
|
45
42
|
|
46
|
-
|
43
|
+
指定参数类型。在创建存储过程时,类型应该与创建存储过程时指定的名称完全一致。
|
47
44
|
|
48
|
-
|
45
|
+
如果存储过程如下实现:
|
49
46
|
|
50
|
-
|
47
|
+
```sql
|
51
48
|
CREATE OR REPLACE NONEDITIONABLE PROCEDURE myproc (in_id IN VARCHAR2, out_name OUT VARCHAR2) AS
|
52
|
-
|
53
|
-
SELECT name INTO out_name FROM
|
54
|
-
|
49
|
+
BEGIN
|
50
|
+
SELECT name INTO out_name FROM
|
51
|
+
|
52
|
+
MCS.FMB_USERS WHERE id = in_id;
|
53
|
+
END;
|
55
54
|
```
|
56
55
|
|
57
|
-
|
56
|
+
第一个和第二个参数都指定为 VARCHAR2。当调用这样的存储过程时,必须为两者都指定 String 作为参数类型,并且对于输出,还必须指定最大大小。
|
58
57
|
|
59
|
-
|
60
|
-
对于输出,必须指定最大大小。
|
58
|
+
以下是参数配置示例:
|
61
59
|
|
62
|
-
|
60
|
+

|
63
61
|
|
64
|
-
|
62
|
+
### 访问器
|
65
63
|
|
64
|
+
配置遵循[JSONATA 文档](http://docs.jsonata.org/overview.html)。
|
66
65
|
|
67
|
-
|
66
|
+
如果指定了“访问器”,则使用此访问器构建的值将用作存储过程的参数。
|
68
67
|
|
69
|
-
|
68
|
+
如果下面的“值”设置是“常量”,那么可以将访问器设置视为“变量”。
|
70
69
|
|
70
|
+
访问器配置优先于下面的“值”设置。换句话说,如果设置了“值”,则它将作为存储过程的参数值优先考虑。这是因为当设置访问器时,通常将配置的“值”理解为用于测试目的的值,而不是主要用途的值。
|
71
71
|
|
72
72
|
### 值
|
73
73
|
|
74
74
|
如果参数是输入(IN),请指定其值。
|
75
|
-
|
75
|
+
直接在此字段中输入“常量”值。
|
76
76
|
|
77
|
-
|
77
|
+
在上面的示例中,如果指定“id”的输入值为“ID”,则它将设置为 ID 任务的输入值。
|
78
78
|
|
79
|
+
此值优先于上面的“访问器”配置。这是因为当设置访问器时,通常将配置的“值”理解为用于测试目的的值,而不是主要用途的值。
|
79
80
|
|
80
81
|
### 最大大小
|
81
82
|
|
82
|
-
|
83
|
+
如果参数类型为 String 或 Buffer,请指定最大大小。对于其他类型,请忽略此设置。
|
83
84
|
|
84
|
-
|
85
|
+
## 任务结果
|
85
86
|
|
86
|
-
|
87
|
+
过程调用的结果以对象形式返回,其中指定为输出的参数成为返回值的键。
|
87
88
|
|
88
|
-
|
89
|
+
例如,在上面介绍的任务的情况下,它返回以下结果值:
|
89
90
|
|
90
91
|
```javascript
|
91
|
-
|
92
|
-
out_name: 'Admin
|
92
|
+
{
|
93
|
+
out_name: 'Admin'
|
93
94
|
}
|
94
95
|
```
|
95
96
|
|
97
|
+
## 另一个用例(游标)
|
96
98
|
|
97
|
-
###
|
99
|
+
### 存储过程创建示例
|
98
100
|
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
结束;
|
108
|
-
结束过程1;
|
101
|
+
```sql
|
102
|
+
CREATE OR REPLACE NONEDITIONABLE PROCEDURE PROCEDURE1(out_cursor OUT SYS_REFCURSOR) AS
|
103
|
+
BEGIN
|
104
|
+
BEGIN
|
105
|
+
OPEN out_cursor FOR
|
106
|
+
SELECT * FROM FARMWEATHER WHERE rownum <= 1000;
|
107
|
+
END;
|
108
|
+
END PROCEDURE1;
|
109
109
|
```
|
110
110
|
|
111
|
-
###
|
111
|
+
### 存储过程调用示例
|
112
112
|
|
113
|
-

|
114
114
|
|
115
|
-
###
|
115
|
+
### 存储过程任务调用结果
|
116
116
|
|
117
117
|
```javascript
|
118
|
-
{
|
119
|
-
"out_cursor"
|
118
|
+
{
|
119
|
+
"out_cursor": [
|
120
120
|
{
|
121
|
-
"FARMDATE"
|
122
|
-
"MAXT"
|
123
|
-
"MINT"
|
124
|
-
"WINDSPEED"
|
125
|
-
"FARMHUM": 70
|
126
|
-
"
|
121
|
+
"FARMDATE": "2006-01-07T15:00:00.000Z",
|
122
|
+
"MAXT": 29.5,
|
123
|
+
"MINT": 21.8,
|
124
|
+
"WINDSPEED": 1.6,
|
125
|
+
"FARMHUM": 70.2,
|
126
|
+
"PRECIPITATION": 0
|
127
127
|
},
|
128
128
|
{
|
129
|
-
"FARMDATE"
|
130
|
-
"MAXT"
|
131
|
-
"MINT"
|
132
|
-
"WINDSPEED"
|
133
|
-
"FARMHUM": 67
|
134
|
-
"
|
129
|
+
"FARMDATE": "2006-01-08T15:00:00.000Z",
|
130
|
+
"MAXT": 30.1,
|
131
|
+
"MINT": 21,
|
132
|
+
"WINDSPEED": 1.6,
|
133
|
+
"FARMHUM": 67.4,
|
134
|
+
"PRECIPITATION": 0
|
135
135
|
},
|
136
|
-
|
136
|
+
..
|
137
137
|
]
|
138
138
|
}
|
139
139
|
```
|
140
|
-
|
141
|
-
通过www.DeepL.com/Translator(免费版)翻译
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@things-factory/integration-base",
|
3
|
-
"version": "6.1.
|
3
|
+
"version": "6.1.129",
|
4
4
|
"main": "dist-server/index.js",
|
5
5
|
"browser": "client/index.js",
|
6
6
|
"things-factory": true,
|
@@ -26,12 +26,12 @@
|
|
26
26
|
},
|
27
27
|
"dependencies": {
|
28
28
|
"@apollo/client": "^3.6.9",
|
29
|
-
"@things-factory/api": "^6.1.
|
30
|
-
"@things-factory/auth-base": "^6.1.
|
31
|
-
"@things-factory/env": "^6.1.
|
32
|
-
"@things-factory/oauth2-client": "^6.1.
|
33
|
-
"@things-factory/scheduler-client": "^6.1.
|
34
|
-
"@things-factory/shell": "^6.1.
|
29
|
+
"@things-factory/api": "^6.1.129",
|
30
|
+
"@things-factory/auth-base": "^6.1.129",
|
31
|
+
"@things-factory/env": "^6.1.129",
|
32
|
+
"@things-factory/oauth2-client": "^6.1.129",
|
33
|
+
"@things-factory/scheduler-client": "^6.1.129",
|
34
|
+
"@things-factory/shell": "^6.1.129",
|
35
35
|
"async-mqtt": "^2.5.0",
|
36
36
|
"chance": "^1.1.11",
|
37
37
|
"cross-fetch": "^3.0.4",
|
@@ -46,5 +46,5 @@
|
|
46
46
|
"devDependencies": {
|
47
47
|
"@types/cron": "^2.0.1"
|
48
48
|
},
|
49
|
-
"gitHead": "
|
49
|
+
"gitHead": "34348ec14b8648940212758df1945b9321a13593"
|
50
50
|
}
|