@things-factory/integration-base 6.1.127 → 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.
@@ -0,0 +1,139 @@
1
+ # Oracle 存储过程任务
2
+
3
+ これは Oracle データベースに保存されているプロシージャを呼び出すタスクで、個々のデータ型に基づいてデータのリストまたは特定のデータ型の値を返します。
4
+
5
+ ## パラメータ
6
+
7
+ ### プロシージャコード
8
+
9
+ - プロシージャコードは、*プロシージャ名*と*パラメータ*に基づいて自動生成されるコードで、ユーザーは別途入力する必要はありません。
10
+ - プロシージャ名が*mcs.myproc*で、パラメータが*id*と*out_name*の場合、次のように表現されます:
11
+ ```text
12
+ mcs.myproc(:id, :out_name);
13
+ ```
14
+
15
+ ### プロシージャ名
16
+
17
+ - プロシージャの名前を指定します。
18
+ - プロシージャがパッケージまたはユーザー名で区別する必要がある場合、それらを区別するために'.'を使用します。
19
+ - 例:
20
+ ```text
21
+ mcs.myproc
22
+ ```
23
+
24
+ ### パラメータ
25
+
26
+ - パラメータには以下の要素が含まれています:
27
+ - パラメータ名
28
+ - 入力/出力仕様:IN、INOUT、OUT
29
+ - パラメータの型:String、Number、Date、Cursor
30
+ - 値:変数が入力の場合、その入力の値を指定します。
31
+ - 最大サイズ:変数の型が String または Buffer の場合、変数の最大サイズを指定します。
32
+
33
+ #### パラメータ名
34
+
35
+ パラメータ名はプロシージャで使用されるパラメータの名前を指定します。前述の例では、'id'と'out_name'がパラメータ名です。
36
+
37
+ ### 入力/出力仕様
38
+
39
+ 変数が入力(IN)または出力(OUT)かを指定します。
40
+
41
+ ### パラメータの型
42
+
43
+ パラメータの型を指定します。型はプロシージャを作成する際に指定されている名前と完全に一致している必要があります。
44
+
45
+ プロシージャが次のように実装されている場合:
46
+
47
+ ```sql
48
+ CREATE OR REPLACE NONEDITIONABLE PROCEDURE myproc (in_id IN VARCHAR2, out_name OUT VARCHAR2) AS
49
+ BEGIN
50
+ SELECT name INTO out_name FROM MCS.FMB_USERS WHERE id = in_id;
51
+ END;
52
+ ```
53
+
54
+ 最初のパラメータと 2 番目のパラメータはどちらも VARCHAR2 として指定されています。このようなプロシ
55
+
56
+ ージャを呼び出す場合、両方のパラメータに対しても String をパラメータの型として指定し、出力についても最大サイズを指定する必要があります。
57
+
58
+ 以下は、パラメータの構成の例です:
59
+
60
+ ![procedure example1](./assets/../../../../assets/images/oracle-procedure-example1.png 'procedure example1')
61
+
62
+ ### アクセッサ
63
+
64
+ 設定は[JSONATA ドキュメント](http://docs.jsonata.org/overview.html)に従います。
65
+
66
+ 'アクセッサ'が指定されている場合、このアクセッサで構築された値がプロシージャのパラメータとして使用されます。
67
+
68
+ 以下の '値' 設定は '定数' の場合、アクセッサの設定は '変数' と考えることができます。
69
+
70
+ アクセッサの設定は以下の '値' 設定より優先されます。言い換えれば、 '値' が設定されている場合、それはプロシージャのパラメータ値として優先されます。これは、アクセッサが設定されている場合、設定された '値' は通常、テストの目的で使用される値として理解されるためです。
71
+
72
+ ### 値
73
+
74
+ パラメータが入力(IN)の場合、その値を指定します。
75
+ このフィールドに直接「定数」値を入力します。
76
+
77
+ 上記の例では、「id」の入力値を「ID」と指定した場合、ID タスクの入力値として設定されます。
78
+
79
+ この値は、上記の 'アクセッサ' の設定より優先されます。これは、アクセッサが設定されている場合、設定された '値' は通常、テストの目的で使用される値として理解されるためです。
80
+
81
+ ### 最大サイズ
82
+
83
+ パラメータの型が String または Buffer の場合、最大サイズを指定します。他の型の場合は値を指定せずに無視します。
84
+
85
+ ## タスク結果
86
+
87
+ プロシージャ呼び出しの結果はオブジェクトの形式で返され、出力として指定されたパラメータ名が値を返すキーになります。
88
+
89
+ たとえば、上記で紹介したタスクの場合、次の結果値を返します:
90
+
91
+ ```javascript
92
+ {
93
+ out_name: 'Admin'
94
+ }
95
+ ```
96
+
97
+ ## 別の使用例(カーソル)
98
+
99
+ ### プロシージャ作成の例
100
+
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
+ ```
110
+
111
+ ### プロシージャ呼び出しの例
112
+
113
+ ![procedure example2](./assets/../../../../assets/images/oracle-procedure-example2.png 'procedure example2')
114
+
115
+ ### プロシージャタスク呼び出しの結果
116
+
117
+ ```javascript
118
+ {
119
+ "out_cursor": [
120
+ {
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
+ },
128
+ {
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
+ },
136
+ ..
137
+ ]
138
+ }
139
+ ```
@@ -1,40 +1,45 @@
1
1
  # Oracle Procedure Task
2
2
 
3
- Oracle 데이터베이스에 저장되어 있는 프로시저를 호출하는 태스크이며,
3
+ Oracle 데이터베이스에 저장되어 있는 프로시저를 호출하는 태스크이며,
4
4
  개별 데이터 타입에 따라서 데이터의 리스트 혹은 특정 데이터 타입의 값을 반환한다.
5
5
 
6
6
  ## Parameters
7
7
 
8
8
  ### 프로시저 코드
9
- - 프로시저 코드는 *프로시저 이름*과 *파라미터*에 의해서 자동으로 생성되는 코드로서, 별도로 사용자가 입력할 필요는 없다.
10
- - 만약, 프로시저의 이름이 *mcs.myproc*이고, 파라미터가 *id*와 *out_name*으로 구성된다면, 다음과 같이 표현된다.
11
- ```text
12
- mcs.myproc(:id, :out_name);
13
- ```
9
+
10
+ - 프로시저 코드는 *프로시저 이름*과 *파라미터*에 의해서 자동으로 생성되는 코드로서, 별도로 사용자가 입력할 필요는 없다.
11
+ - 만약, 프로시저의 이름이 *mcs.myproc*이고, 파라미터가 *id*와 *out_name*으로 구성된다면, 다음과 같이 표현된다.
12
+ ```text
13
+ mcs.myproc(:id, :out_name);
14
+ ```
14
15
 
15
16
  ### 프로시저 이름
16
- - 프로시저의 이름을 지정한다.
17
- - 프로시저가 패키지나 사용자 이름등으로 구분이 필요할 경우 '.'을 통해서 구분한다.
18
- - 사용 예.
19
- ```text
20
- mcs.myproc
21
- ```
17
+
18
+ - 프로시저의 이름을 지정한다.
19
+ - 프로시저가 패키지나 사용자 이름등으로 구분이 필요할 경우 '.'을 통해서 구분한다.
20
+ - 사용 예.
21
+ ```text
22
+ mcs.myproc
23
+ ```
22
24
 
23
25
  ### 파라미터
24
- - 파라미터는 다음과 같은 요소로 구성되어 있다.
25
- - 파라미터 이름
26
- - 입출력 지정: IN, INOUT, OUT
27
- - 파라미터 타입: String, Number, Date, Cursor
28
- - 값: 해당 변수가 입력일 경우, 해당 입력에 대한 값
29
- - 최대크기: 해당 변수타입이 String이나 Buffer일 경우, 변수의 최대 크기를 지정.
26
+
27
+ - 파라미터는 다음과 같은 요소로 구성되어 있다.
28
+ - 파라미터 이름
29
+ - 입출력 지정: IN, INOUT, OUT
30
+ - 파라미터 타입: String, Number, Date, Cursor
31
+ - 값: 해당 변수가 입력일 경우, 해당 입력에 대한
32
+ - 최대크기: 해당 변수타입이 String이나 Buffer일 경우, 변수의 최대 크기를 지정.
30
33
 
31
34
  #### 파라미터 이름
32
35
 
33
36
  파라미터 이름은 프로시저 작성에 사용된 파라미터의 이름을 지정한다.
34
37
  앞의 예의 경우,
35
- ```sql
36
- mcs.myproc(:id, :out_name);
37
- ```
38
+
39
+ ```sql
40
+ mcs.myproc(:id, :out_name);
41
+ ```
42
+
38
43
  id와 out_name이 각각 파라미터 이름이다.
39
44
 
40
45
  ### 입출력 지정
@@ -54,28 +59,35 @@ BEGIN
54
59
  END;
55
60
  ```
56
61
 
57
- 첫번째 파라미터와 두번째 파라미터 모두 VARCHAR2로 지정되어 있으며,
62
+ 첫번째 파라미터와 두번째 파라미터 모두 VARCHAR2로 지정되어 있으며,
58
63
 
59
- 이러한 프로시저를 호출해야 할 경우 파라미터 타입은 모두 String을 지정해야 하고,
64
+ 이러한 프로시저를 호출해야 할 경우 파라미터 타입은 모두 String을 지정해야 하고,
60
65
  출력의 경우, 최대 크기까지 지정해야 한다.
61
66
 
62
67
  호출 지정 예는 다음과 같다.
63
68
 
64
69
  ![procedure example1](./assets/../../../../assets/images/oracle-procedure-example1.png 'procedure example1')
65
70
 
66
-
67
71
  ### 접근자 [accessor](../concept/data-accessor.md)
68
72
 
69
73
  설정 방법은 [JSONATA 도큐먼트](http://docs.jsonata.org/overview.html)를 따른다.
70
74
 
75
+ '접근자'가 지정되면, 해당 접근자로 조성된 값이 프로시져의 파라미터로 사용된다.
76
+
77
+ 아래 '값' 설정이 '상수'라면, 접근자 설정은 '변수'라고 할 수 있다.
78
+
79
+ 접근자 설정은 다음의 '값' 설정에 차선순위이다. 즉, 만약에 '값'이 설정되어있으면, '값' 설정이 우선하여 프로시져 파라미터 값이 된다.
80
+ 그 이유는 접근자가 설정되어 있는 상태에서 설정된 '값'은 주로 사용되는 용도라기보다는 '테스트'용 값으로 이해되기 때문이다.
71
81
 
72
82
  ### 값
73
83
 
74
- 파라미터가 입력(IN)일 경우, 해당 값을 지정한다.
75
- 해당 값에 바로 상수 값을 입력하지 않고, 특정 태스크 이름을 지정하도록 한다.
84
+ 파라미터가 입력(IN)일 경우, 해당 값을 지정한다.
85
+ 해당 값에 바로 "상수" 값을 입력한다.
76
86
 
77
87
  위의 예어서 id의 입력 값을 ID라고 지정되어 있다면, ID 태스크에서 반환되는 값을 입력 값으로 지정한다.
78
88
 
89
+ 이 값은 위 '접근자' 설정에 우선하여 사용된다.
90
+ 그 이유는 접근자가 설정되어 있는 상태에서 설정된 '값'은 주로 사용되는 용도라기보다는 '테스트'용 값으로 이해되기 때문이다.
79
91
 
80
92
  ### 최대 크기
81
93
 
@@ -93,13 +105,12 @@ END;
93
105
  }
94
106
  ```
95
107
 
96
-
97
108
  ## 다른 사용 예(커서)
98
109
 
99
110
  ### 프로시저 작성 예
100
111
 
101
112
  ```sql
102
- CREATE OR REPLACDE NONEDITIONABLE PROCEDURE PROCEDURE1(out_cursor OUT SYS_REFCURSOR) AS
113
+ CREATE OR REPLACDE NONEDITIONABLE PROCEDURE PROCEDURE1(out_cursor OUT SYS_REFCURSOR) AS
103
114
  BEGIN
104
115
  BEGIN
105
116
  OPEN out_cursor FOR
@@ -136,4 +147,4 @@ END PROCEDURE1;
136
147
  ..
137
148
  ]
138
149
  }
139
- ```
150
+ ```
@@ -1,91 +1,90 @@
1
1
  # Oracle Procedure Task
2
2
 
3
- A task that calls a procedure stored in the Oracle database,
4
- It returns a list of data or a value of a specific data type, depending on the individual data type.
3
+ This is a task for calling procedures stored in the Oracle database, returning either lists of data or specific data types based on individual data types.
5
4
 
6
5
  ## Parameters
7
6
 
8
7
  ### Procedure Code
9
- - The procedure code is the code that is automatically generated by the *procedure name* and *parameters* and does not need to be entered by the user.
10
- - If a procedure is named *mcs.myproc* and the parameters consist of *id* and *out_name*, it would look like this
11
- ```text
12
- mcs.myproc(:id, :out_name);
13
- ```
8
+
9
+ - The procedure code is generated automatically based on the _procedure name_ and _parameters_, and there is no need for users to input it separately.
10
+ - If the procedure name is _mcs.myproc_ and it has parameters _id_ and _out_name_, it is expressed as follows:
11
+ ```text
12
+ mcs.myproc(:id, :out_name);
13
+ ```
14
14
 
15
15
  ### Procedure Name
16
- - Specifies the name of the procedure.
17
- - If the procedure needs to be separated by a package or user name, use a '.' to separate them.
18
- - Example.
19
- ```text
20
- mcs.myproc
21
- ```text mcs.myproc
22
16
 
23
- ### Parameters
24
- - A parameter consists of the following elements
25
- - A parameter name
26
- - Input/output designation: IN, INOUT, OUT
27
- - Parameter type: String, Number, Date, Cursor
28
- - Value: If the variable is an input, the value for that input.
29
- - MaxSize: If the variable is of type String or Buffer, the maximum size of the variable.
30
-
31
- #### Parameter names
32
-
33
- The parameter name specifies the name of the parameter used in the procedure.
34
- For the previous example,
35
- ```sql
36
- mcs.myproc(:id, :out_name);
17
+ - Specify the name of the procedure.
18
+ - If the procedure needs to be distinguished by a package or user name, use '.' to separate them.
19
+ - Example:
20
+ ```text
21
+ mcs.myproc
37
22
  ```
38
- id and out_name are the parameter names.
39
23
 
40
- ### Specifying input and output
24
+ ### Parameters
41
25
 
42
- Specifies whether the variable is input (IN) or output (OUT).
26
+ - Parameters consist of the following elements:
27
+ - Parameter name
28
+ - Input/Output specification: IN, INOUT, OUT
29
+ - Parameter type: String, Number, Date, Cursor
30
+ - Value: If the variable is an input, specify the value for that input.
31
+ - Maximum size: If the variable type is String or Buffer, specify the maximum size of the variable.
43
32
 
44
- ### parameter type
33
+ #### Parameter Name
45
34
 
46
- Specifies the type of the parameter. The type must be the same as the name specified in the actual procedure creation.
35
+ The parameter name specifies the name of the parameter used in the procedure. In the example above, 'id' and 'out_name' are the parameter names.
47
36
 
48
- If the procedure is implemented like this
37
+ ### Input/Output Specification
38
+
39
+ Specify whether the variable is an input (IN) or output (OUT).
40
+
41
+ ### Parameter Type
42
+
43
+ Specify the parameter type. The type should be specified exactly as it is named when creating the procedure.
44
+
45
+ If the procedure is implemented as follows:
49
46
 
50
47
  ```sql
51
48
  CREATE OR REPLACE NONEDITIONABLE PROCEDURE myproc (in_id IN VARCHAR2, out_name OUT VARCHAR2) AS
52
49
  BEGIN
53
- SELECT name INTO out_name FROM MCS.FMB_USERS WHERE id = in_id ;
50
+ SELECT name INTO out_name FROM MCS.FMB_USERS WHERE id = in_id;
54
51
  END;
55
52
  ```
56
53
 
57
- Note that both the first and second parameters are specified as VARCHAR2,
54
+ Both the first and second parameters are specified as VARCHAR2. When calling such a procedure, you must specify String as the parameter type for both, and for output, you must also specify the maximum size.
58
55
 
59
- If you need to call these procedures, the parameter types must be specified as String,
60
- For the output, the maximum size should be specified.
56
+ Here's an example of parameter configuration:
61
57
 
62
- An example call specification is as follows
58
+ ![procedure example1](./assets/../../../../assets/images/oracle-procedure-example1.png 'procedure example1')
63
59
 
64
- ![procedure example1](./assets/../../../../../assets/images/oracle-procedure-example1.png 'procedure example1')
60
+ ### Accessor
65
61
 
62
+ The configuration follows the [JSONATA documentation](http://docs.jsonata.org/overview.html).
66
63
 
67
- ### Accessor [accessor](../concept/data-accessor.md)
64
+ When an 'accessor' is specified, the value constructed with this accessor is used as a parameter for the procedure.
68
65
 
69
- Follow the [JSONATA documentation](http://docs.jsonata.org/overview.html) for configuration.
66
+ If the 'value' setting below is a 'constant,' then the accessor setting can be considered as a 'variable.'
70
67
 
68
+ Accessor configuration takes precedence over the following 'value' setting. In other words, if the 'value' is set, it takes priority as the parameter value for the procedure. This is because when an accessor is set, the configured 'value' is typically understood as a value used for testing purposes rather than for primary use.
71
69
 
72
70
  ### Value
73
71
 
74
- If the parameter is an input (IN), specify its value.
75
- Do not enter a constant value directly into the value, but specify a specific task name.
72
+ If the parameter is an input (IN), specify its value.
73
+ Enter a "constant" value directly into this field.
76
74
 
77
- In the example above, if the input value of id is specified as ID, specify the value returned by the ID task as the input value.
75
+ In the example above, if the input value for 'id' is specified as 'ID,' then it is set as the input value for the ID task.
78
76
 
77
+ This value takes precedence over the 'accessor' configuration above. This is because when an accessor is set, the configured 'value' is typically understood as a value used for testing purposes rather than for primary use.
79
78
 
80
- ### Maximum size
79
+ ### Maximum Size
81
80
 
82
- If the parameter type is String or Buffer, specify the maximum size. For other types, do not specify a value and ignore it.
81
+ If the parameter type is String or Buffer, specify the maximum size. Ignore this for other types.
83
82
 
84
83
  ## Task Result
85
84
 
86
- The result of the procedure call is returned in the form of an Object, and the parameter name specified as the output is the key and returns the value.
85
+ The result of the procedure call is returned in the form of an object, with the parameter specified as output becoming the key for returning the value.
87
86
 
88
- For example, the task introduced above returns the following result value.
87
+ For example, in the case of the task introduced above, it returns the following result value:
89
88
 
90
89
  ```javascript
91
90
  {
@@ -93,13 +92,12 @@ For example, the task introduced above returns the following result value.
93
92
  }
94
93
  ```
95
94
 
95
+ ## Another Use Case (Cursor)
96
96
 
97
- ## Other usage examples (cursor)
98
-
99
- ### Example of writing a procedure
97
+ ### Procedure Creation Example
100
98
 
101
99
  ```sql
102
- CREATE OR REPLACE NONEDITIONABLE PROCEDURE PROCEDURE1(out_cursor OUT SYS_REFCURSOR) AS
100
+ CREATE OR REPLACE NONEDITIONABLE PROCEDURE PROCEDURE1(out_cursor OUT SYS_REFCURSOR) AS
103
101
  BEGIN
104
102
  BEGIN
105
103
  OPEN out_cursor FOR
@@ -108,11 +106,11 @@ BEGIN
108
106
  END PROCEDURE1;
109
107
  ```
110
108
 
111
- ### Example of calling a procedure
109
+ ### Procedure Call Example
112
110
 
113
- ![procedure example2](./assets/../../../../../assets/images/oracle-procedure-example2.png 'procedure example2')
111
+ ![procedure example2](./assets/../../../../assets/images/oracle-procedure-example2.png 'procedure example2')
114
112
 
115
- ### Procedure task call result
113
+ ### Procedure Task Call Result
116
114
 
117
115
  ```javascript
118
116
  {
@@ -133,7 +131,7 @@ END PROCEDURE1;
133
131
  "FARMHUM": 67.4,
134
132
  "PRECIPITATION": 0
135
133
  },
136
- ...
134
+ ..
137
135
  ]
138
136
  }
139
137
  ```
@@ -1,91 +1,92 @@
1
1
  # Tugas Prosedur Oracle
2
2
 
3
- Tugas ini memanggil prosedur yang disimpan dalam pangkalan data Oracle,
4
- dan mengembalikan senarai data atau nilai jenis data tertentu bergantung pada jenis data individu.
3
+ Ini adalah tugas untuk memanggil prosedur yang disimpan di database Oracle, mengembalikan daftar data atau tipe data tertentu berdasarkan tipe data individu.
5
4
 
6
5
  ## Parameter
7
6
 
8
- ### Kod Prosedur
9
- - Kod prosedur adalah kod yang dihasilkan secara automatik oleh *nama prosedur* dan *parameter*, dan pengguna tidak perlu memasukkannya secara berasingan.
10
- - Jika nama prosedur adalah *mcs.myproc* dan parameter terdiri daripada *id* dan *out_name*, ia akan dinyatakan seperti berikut.
11
- ```text
12
- mcs.myproc(:id, :out_name);
13
- ```
7
+ ### Kode Prosedur
8
+
9
+ - Kode prosedur dibuat secara otomatis berdasarkan _nama prosedur_ dan _parameter_, dan pengguna tidak perlu memasukkannya secara terpisah.
10
+ - Jika nama prosedur adalah _mcs.myproc_ dan memiliki parameter _id_ dan _out_name_, maka diungkapkan seperti berikut:
11
+ ```text
12
+ mcs.myproc(:id, :out_name);
13
+ ```
14
14
 
15
15
  ### Nama Prosedur
16
- - Tentukan nama prosedur.
17
- - Jika prosedur perlu dibezakan dengan nama pakej atau pengguna, dll., ia dibezakan dengan '.'.
18
- - Contoh penggunaan.
19
- ```text
20
- mcs.myproc
21
- ```
16
+
17
+ - Tentukan nama prosedur.
18
+ - Jika prosedur perlu dibedakan dengan nama paket atau pengguna, gunakan '.' untuk memisahkan mereka.
19
+ - Contoh:
20
+ ```text
21
+ mcs.myproc
22
+ ```
22
23
 
23
24
  ### Parameter
24
- - Parameter terdiri daripada elemen-elemen berikut.
25
- - Nama parameter
26
- - Penentuan input / output: IN, INOUT, OUT
27
- - Jenis parameter: String, Number, Date, Cursor
28
- - Nilai: Jika pemboleh ubah itu adalah input, nilai untuk input itu
29
- - Saiz maksimum: Jika jenis pemboleh ubah adalah String atau Buffer, tentukan saiz maksimum pemboleh ubah.
25
+
26
+ - Parameter terdiri dari elemen-elemen berikut:
27
+ - Nama parameter
28
+ - Spesifikasi Masukan/Keluaran: IN, INOUT, OUT
29
+ - Tipe parameter: String, Number, Date, Cursor
30
+ - Nilai: Jika variabel adalah masukan, tentukan nilai untuk masukan tersebut.
31
+ - Ukuran maksimum: Jika tipe variabel adalah String atau Buffer, tentukan ukuran maksimum variabel tersebut.
30
32
 
31
33
  #### Nama Parameter
32
34
 
33
- Nama parameter menentukan nama parameter yang digunakan semasa membuat prosedur.
34
- Dalam contoh di atas,
35
- ```sql
36
- mcs.myproc(:id, :out_name);
37
- ```
38
- id dan out_name adalah nama parameter masing-masing.
35
+ Nama parameter menentukan nama parameter yang digunakan dalam prosedur. Dalam contoh di atas, 'id' dan 'out_name' adalah nama parameter.
39
36
 
40
- ### Penentuan Input / Output
37
+ ### Spesifikasi Masukan/Keluaran
41
38
 
42
- Tentukan sama ada pemboleh ubah itu adalah input (IN) atau output (OUT).
39
+ Tentukan apakah variabel adalah masukan (IN) atau keluaran (OUT).
43
40
 
44
- ### Jenis Parameter
41
+ ### Tipe Parameter
45
42
 
46
- Tentukan jenis parameter. Jenis harus ditentukan sama dengan nama yang ditentukan semasa membuat prosedur sebenar.
43
+ Tentukan tipe parameter. Tipe harus ditentukan dengan tepat seperti yang dinamai saat membuat prosedur.
47
44
 
48
- Jika prosedur diimplementasikan seperti berikut,
45
+ Jika prosedur diimplementasikan seperti berikut:
49
46
 
50
47
  ```sql
51
48
  CREATE OR REPLACE NONEDITIONABLE PROCEDURE myproc (in_id IN VARCHAR2, out_name OUT VARCHAR2) AS
52
49
  BEGIN
53
- SELECT name INTO out_name FROM MCS.FMB_USERS WHERE id = in_id ;
50
+ SELECT name INTO out_name FROM MCS.FMB_USERS WHERE id = in_id;
54
51
  END;
55
52
  ```
56
53
 
57
- Parameter pertama dan kedua kedua-duanya ditentukan sebagai VARCHAR2,
54
+ Baik parameter pertama maupun kedua ditentukan sebagai VARCHAR2. Ketika memanggil prosedur
58
55
 
59
- Jika anda perlu memanggil prosedur seperti itu, anda harus menentukan semua jenis parameter sebagai String,
60
- dan dalam kes output, anda juga harus menentukan saiz maksimum.
56
+ seperti itu, Anda harus menentukan String sebagai tipe parameter untuk keduanya, dan untuk keluaran, Anda juga harus menentukan ukuran maksimum.
61
57
 
62
- Contoh penentuan panggilan adalah seperti berikut.
58
+ Berikut adalah contoh konfigurasi parameter:
63
59
 
64
60
  ![contoh prosedur1](./assets/../../../../assets/images/oracle-procedure-example1.png 'contoh prosedur1')
65
61
 
62
+ ### Aksesori
66
63
 
67
- ### Akses [accessor](../concept/data-accessor.md)
64
+ Konfigurasi mengikuti [dokumentasi JSONATA](http://docs.jsonata.org/overview.html).
68
65
 
69
- Cara menetapkan mengikuti [dokumen JSONATA](http://docs.jsonata.org/overview.html).
66
+ Ketika 'aksesori' ditentukan, nilai yang dibangun dengan aksesori ini digunakan sebagai parameter untuk prosedur.
70
67
 
68
+ Jika pengaturan 'nilai' di bawah adalah 'konstan', maka pengaturan aksesori dapat dianggap sebagai 'variabel'.
69
+
70
+ Konfigurasi aksesori memiliki prioritas lebih tinggi daripada pengaturan 'nilai' berikut. Dalam kata lain, jika 'nilai' diatur, itu akan menjadi prioritas sebagai nilai parameter untuk prosedur. Hal ini karena ketika aksesori diatur, 'nilai' yang dikonfigurasi biasanya dianggap sebagai nilai yang digunakan untuk tujuan pengujian daripada penggunaan utama.
71
71
 
72
72
  ### Nilai
73
73
 
74
- Jika parameter adalah input (IN), tentukan nilainya.
75
- Alih-alih memasukkan nilai konstan secara langsung ke dalam nilai ini, tentukan nama tugas tertentu.
74
+ Jika parameter adalah masukan (IN), tentukan nilainya.
75
+ Masukkan nilai "konstan" langsung ke dalam bidang ini.
76
76
 
77
- Dalam contoh di atas, jika nilai input untuk id ditetapkan sebagai ID, nilai yang dikembalikan oleh tugas ID ditetapkan sebagai nilai input.
77
+ Dalam contoh di atas, jika nilai masukan untuk 'id' ditentukan sebagai 'ID', maka itu diatur sebagai nilai masukan untuk tugas ID.
78
78
 
79
+ Nilai ini memiliki prioritas lebih tinggi daripada konfigurasi 'aksesori' di atas. Hal ini karena ketika aksesori diatur, 'nilai' yang dikonfigurasi biasanya dianggap sebagai nilai yang digunakan untuk tujuan pengujian daripada penggunaan utama.
79
80
 
80
- ### Saiz Maksimum
81
+ ### Ukuran Maksimum
81
82
 
82
- Jika jenis parameter adalah String atau Buffer, tentukan saiz maksimum. Untuk jenis lain, abaikan nilai yang tidak ditentukan.
83
+ Jika tipe parameter adalah String atau Buffer, tentukan ukuran maksimum. Abaikan ini untuk jenis lain.
83
84
 
84
85
  ## Hasil Tugas
85
86
 
86
- Hasil panggilan prosedur dikembalikan dalam bentuk Objek, dan nama parameter yang ditetapkan sebagai output menjadi kunci untuk mengembalikan nilainya.
87
+ Hasil panggilan prosedur dikembalikan dalam bentuk objek, dengan parameter yang ditentukan sebagai keluaran menjadi kunci untuk mengembalikan nilai.
87
88
 
88
- Jika tugas yang diperkenalkan di atas mengembalikan hasil seperti berikut.
89
+ Misalnya, dalam kasus tugas yang diperkenalkan di atas, itu mengembalikan nilai hasil berikut:
89
90
 
90
91
  ```javascript
91
92
  {
@@ -93,13 +94,12 @@ Jika tugas yang diperkenalkan di atas mengembalikan hasil seperti berikut.
93
94
  }
94
95
  ```
95
96
 
96
-
97
- ## Contoh Penggunaan Lain (Kursor)
97
+ ## Contoh Penggunaan Lainnya (Kursor)
98
98
 
99
99
  ### Contoh Pembuatan Prosedur
100
100
 
101
101
  ```sql
102
- CREATE OR REPLACDE NONEDITIONABLE PROCEDURE PROCEDURE1(out_cursor OUT SYS_REFCURSOR) AS
102
+ CREATE OR REPLACE NONEDITIONABLE PROCEDURE PROCEDURE1(out_cursor OUT SYS_REFCURSOR) AS
103
103
  BEGIN
104
104
  BEGIN
105
105
  OPEN out_cursor FOR
@@ -1,141 +1,139 @@
1
1
  # Oracle 存储过程任务
2
2
 
3
- 调用 Oracle 数据库中存储的存储过程的任务、
4
- 它根据数据类型返回数据列表或特定数据类型的值。
3
+ 这是用于调用存储在 Oracle 数据库中的存储过程的任务,根据不同的数据类型返回数据列表或特定数据类型的值。
5
4
 
6
- ### 参数
5
+ ## 参数
6
+
7
+ ### 存储过程代码
7
8
 
8
- ### 过程代码
9
- - 存储过程代码是由*存储过程名称*和*参数*自动生成的代码,用户无需输入。
10
- - 例如,如果存储过程的名称为 *mcs.myproc*,参数为 *id* 和 *out_name*,那么存储过程代码将如下所示
11
- ```文本
12
- mcs.myproc(:id, :out_name);
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
- mcs.myproc
21
- 文本 mcs.myproc
16
+
17
+ - 指定存储过程的名称。
18
+ - 如果需要按包或用户名进行区分,使用'.'来分隔它们。
19
+ - 例子:
20
+ ```text
21
+ mcs.myproc
22
+ ```
22
23
 
23
24
  ### 参数
24
- - 参数由以下元素组成
25
- - 参数名称
26
- - 输入/输出名称:IN、INOUT、OUT
27
- - 参数类型:字符串、数字、日期、光标
28
- - 值:如果变量是输入,则是该输入的值。
29
- - MaxSize:如果变量是字符串或缓冲区类型,则为变量的最大大小。
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 MCS.FMB_USERS WHERE id = in_id ;
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
- 请注意,第一个和第二个参数都指定为 VARCHAR2
56
+ 第一个和第二个参数都指定为 VARCHAR2。当调用这样的存储过程时,必须为两者都指定 String 作为参数类型,并且对于输出,还必须指定最大大小。
58
57
 
59
- 如果需要调用这些存储过程,必须将参数类型指定为字符串、
60
- 对于输出,必须指定最大大小。
58
+ 以下是参数配置示例:
61
59
 
62
- 调用说明示例如下
60
+ ![procedure example1](./assets/../../../../assets/images/oracle-procedure-example1.png 'procedure example1')
63
61
 
64
- [存储过程 example1](./assets/././././././././assets/images/oracle-procedure-example1.png '存储过程 example1')
62
+ ### 访问器
65
63
 
64
+ 配置遵循[JSONATA 文档](http://docs.jsonata.org/overview.html)。
66
65
 
67
- ### Accessor [accessor](../concept/data-accessor.md)
66
+ 如果指定了“访问器”,则使用此访问器构建的值将用作存储过程的参数。
68
67
 
69
- 按照 [JSONATA 文档](http://docs.jsonata.org/overview.html) 进行配置。
68
+ 如果下面的“值”设置是“常量”,那么可以将访问器设置视为“变量”。
70
69
 
70
+ 访问器配置优先于下面的“值”设置。换句话说,如果设置了“值”,则它将作为存储过程的参数值优先考虑。这是因为当设置访问器时,通常将配置的“值”理解为用于测试目的的值,而不是主要用途的值。
71
71
 
72
72
  ### 值
73
73
 
74
74
  如果参数是输入(IN),请指定其值。
75
- 不要直接在值中输入常量,而应指定具体的任务名称。
75
+ 直接在此字段中输入“常量”值。
76
76
 
77
- 在上例中,如果 id 的输入值指定为 ID,则指定 ID 任务返回的值作为输入值。
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
- ``sql
102
- CREATE OR REPLACE NONEDITIONABLE PROCEDURE PROCEDURE1(out_cursor OUT SYS_REFCURSOR) AS
103
- 开始
104
- 开始
105
- 打开 out_cursor FOR
106
- SELECT * FROM FARMWEATHER WHERE rownum <= 1000;
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
- ![存储过程 example2](./assets/././././././././assets/images/oracle-procedure-example2.png'存储过程 example2')
113
+ ![procedure example2](./assets/../../../../assets/images/oracle-procedure-example2.png 'procedure example2')
114
114
 
115
- ### 程序任务调用结果
115
+ ### 存储过程任务调用结果
116
116
 
117
117
  ```javascript
118
- { }
119
- "out_cursor" [].
118
+ {
119
+ "out_cursor": [
120
120
  {
121
- "FARMDATE" "2006-01-07T15:00:00.000Z",
122
- "MAXT" 29.5,
123
- "MINT" 21.8,
124
- "WINDSPEED" 1.6,
125
- "FARMHUM": 70: 70.2,
126
- "降水量": 0 0
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" "2006-01-08T15:00:00.000Z",
130
- "MAXT" 30.1,
131
- "MINT" 21,
132
- "WINDSPEED" 1.6,
133
- "FARMHUM": 67: 67.4,
134
- "precipitation": 0 0
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.127",
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.127",
30
- "@things-factory/auth-base": "^6.1.127",
31
- "@things-factory/env": "^6.1.127",
32
- "@things-factory/oauth2-client": "^6.1.127",
33
- "@things-factory/scheduler-client": "^6.1.127",
34
- "@things-factory/shell": "^6.1.127",
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": "1e37585e8021af947ffdf03c11c90754a949a318"
49
+ "gitHead": "34348ec14b8648940212758df1945b9321a13593"
50
50
  }