@things-factory/integration-base 7.0.10 → 7.0.14

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.
@@ -1,15 +1,131 @@
1
- # mqtt-subscribe
1
+ # Prosedur MSSQL
2
2
 
3
- Ini adalah tugas yang menerima mesej dari broker MQTT dan mengembalikannya sebagai data.
4
- Ia terus menerima mesej dari broker MQTT yang sepadan dengan tag yang ditetapkan, menyimpan mesej terakhir, dan mengembalikannya apabila tugas ini dijalankan.
5
- Jika tiada mesej baru sehingga waktu pelaksanaan tugas, ia menunggu sehingga mesej baru diterima.
3
+ Ini adalah tugas untuk memanggil prosedur yang disimpan dalam pangkalan data MSSQL, mengembalikan senarai data atau nilai jenis data tertentu berdasarkan jenis data individu.
6
4
 
7
5
  ## Parameter
8
6
 
9
- - Topik
10
- - Menetapkan tag mesej yang akan diterima dari broker.
11
- - Format Data
12
- - Menetapkan format mesej yang diterima dari broker MQTT.
13
- - Format
14
- - Teks Biasa: Menafsirkan mesej yang diterima sebagai rentetan dan mengembalikannya sebagai data.
15
- - JSON: Mengurai mesej yang diterima ke dalam format objek dan mengembalikkannya sebagai data.
7
+ ### Kod Prosedur
8
+
9
+ - Kod prosedur dijana secara automatik oleh _nama prosedur_ dan _parameter_, dan pengguna tidak perlu memasukkannya secara berasingan.
10
+ - Sebagai contoh, jika nama prosedur adalah _dbo.myproc_ dan parameternya adalah _id_ dan _out_name_, ia diwakili seperti berikut:
11
+
12
+ ```
13
+ EXEC dbo.myproc @id, @out_name OUTPUT;
14
+ ```
15
+
16
+ ### Nama Prosedur
17
+
18
+ - Tentukan nama prosedur.
19
+ - Jika prosedur perlu dibezakan oleh nama skema, ia dipisahkan dengan '.'.
20
+ - Contoh penggunaan.
21
+
22
+ ```text
23
+ dbo.myproc
24
+ ```
25
+
26
+ ### Parameter
27
+
28
+ - Parameter terdiri daripada elemen berikut:
29
+ - Nama parameter
30
+ - Penetapan input/output: IN, OUT, INOUT (jenis OUT dengan nilai awal)
31
+ - Jenis parameter: CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT, TINYINT, SMALLINT, INT, BIGINT, FLOAT, REAL, DECIMAL, NUMERIC, MONEY, SMALLMONEY, DATE, TIME, DATETIME, SMALLDATETIME, DATETIME2, DATETIMEOFFSET
32
+ - Nilai: jika pembolehubah adalah input, nilai untuk input tersebut
33
+ - Saiz maksimum: jika jenis pembolehubah adalah CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT, tentukan saiz maksimum pembolehubah, DECIMAL, NUMERIC menetapkan ketepatan.
34
+
35
+ #### Nama Parameter
36
+
37
+ Tentukan nama parameter yang digunakan dalam penulisan prosedur. Dalam contoh di atas,
38
+
39
+ ```sql
40
+ EXEC dbo.myproc @id, @out_name OUTPUT;
41
+ ```
42
+
43
+ id dan out_name adalah nama parameter.
44
+
45
+ #### Penetapan Input/Output
46
+
47
+ Tentukan sama ada pembolehubah adalah input (IN), output (OUT), atau input/output (INOUT). Dalam MSSQL, ia boleh ditetapkan sebagai `IN`, `OUT`, `INOUT`, dll.
48
+
49
+ #### Jenis Parameter
50
+
51
+ Tentukan jenis parameter. Dalam MSSQL, jenis data string termasuk `CHAR`, `VARCHAR`, `NCHAR`, `NVARCHAR`, `TEXT`, `NTEXT`, dan jenis berangka termasuk `TINYINT`, `SMALLINT`, `INT`, `BIGINT`, `FLOAT`, `REAL`, `DECIMAL`, `NUMERIC`, `MONEY`, `SMALLMONEY`. Jenis tarikh dan masa termasuk `DATE`, `TIME`, `DATETIME`, `SMALLDATETIME`, `DATETIME2`, `DATETIMEOFFSET`.
52
+
53
+ Jika prosedur dilaksanakan seperti berikut,
54
+
55
+ ```sql
56
+ CREATE PROCEDURE dbo.myproc (@in_id VARCHAR(50), @out_name VARCHAR(50) OUTPUT)
57
+ AS
58
+ BEGIN
59
+ SELECT @out_name = name FROM dbo.Users WHERE id = @in_id;
60
+ END;
61
+ ```
62
+
63
+ Parameter pertama dan kedua kedua-duanya ditetapkan sebagai `VARCHAR`, dan apabila memanggil prosedur sedemikian, jenis parameter mesti ditetapkan sebagai `VARCHAR`, dan saiz maksimum output mesti ditetapkan.
64
+
65
+ #### Nilai (val)
66
+
67
+ Jika parameter adalah input (IN), tentukan nilainya. Masukkan nilai "konstan" secara langsung untuk nilai tersebut.
68
+
69
+ Nilai ini digunakan apabila tiada hasil daripada tetapan 'akses' di atas.
70
+
71
+ #### Saiz Maksimum
72
+
73
+ Jika jenis parameter adalah CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT, tentukan saiz maksimum. Untuk jenis lain, jangan tentukan nilai dan abaikan.
74
+
75
+ ## Hasil Tugas
76
+
77
+ Hasil panggilan prosedur dikembalikan dalam format Object, dengan nama parameter yang ditetapkan sebagai output menjadi kunci dan nilai dikembalikan.
78
+
79
+ Sebagai contoh, hasil nilai tugas yang diperkenalkan di atas dikembalikan seperti berikut:
80
+
81
+ ```
82
+ {
83
+ out_name: 'Admin'
84
+ }
85
+ ```
86
+
87
+ ## Contoh Penggunaan Lain (Cursor)
88
+
89
+ ### Contoh Prosedur
90
+
91
+ ```sql
92
+ CREATE PROCEDURE dbo.GetFarmWeather (@out_cursor CURSOR VARYING OUTPUT)
93
+ AS
94
+ BEGIN
95
+ SET @out_cursor = CURSOR FOR
96
+ SELECT * FROM dbo.FarmWeather WHERE rownum <= 1000;
97
+ OPEN @out_cursor;
98
+ END;
99
+ ```
100
+
101
+ ### Contoh Panggilan Prosedur
102
+
103
+ ![procedure example1](./assets/../../../../assets/images/mssql-procedure-example1.png 'procedure example1')
104
+
105
+ ### Hasil Panggilan Tugas Prosedur
106
+
107
+ ```javascript
108
+ {
109
+ "out_cursor": [
110
+ {
111
+ "FARMDATE": "2006-01-07T15:00:00.000Z",
112
+ "MAXT": 29.5,
113
+ "MINT": 21.8,
114
+ "WINDSPEED": 1.6,
115
+ "FARMHUM": 70.2,
116
+ "PRECIPITATION": 0
117
+ },
118
+ {
119
+ "FARMDATE": "2006-01-08T15:00:00.000Z",
120
+ "MAXT": 30.1,
121
+ "MINT": 21,
122
+ "WINDSPEED": 1.6,
123
+ "FARMHUM": 67.4,
124
+ "PRECIPITATION": 0
125
+ },
126
+ ..
127
+ ]
128
+ }
129
+ ```
130
+
131
+ Anda boleh merujuk kandungan ini untuk memanggil dan memproses hasil prosedur untuk MSSQL dengan mudah.
@@ -0,0 +1,105 @@
1
+ # MSSQL プロシージャ
2
+
3
+ これはMSSQLデータベースに保存されているプロシージャを呼び出すタスクであり、個々のデータタイプに基づいてデータのリストまたは特定のデータタイプの値を返します。
4
+
5
+ ## パラメータ
6
+
7
+ ### プロシージャコード
8
+
9
+ - プロシージャコードは*プロシージャ名*と*パラメータ*によって自動生成され、ユーザーが別途入力する必要はありません。
10
+ - 例えば、プロシージャ名が*dbo.myproc*で、パラメータが*id*と*out_name*の場合、次のように表現されます。
11
+
12
+ ```
13
+ EXEC dbo.myproc @id, @out_name OUTPUT;
14
+ ```
15
+
16
+ ### プロシージャ名
17
+
18
+ - プロシージャの名前を指定します。
19
+ - プロシージャをスキーマ名などで区別する必要がある場合は、'.'で区切ります。
20
+ - 使用例。
21
+
22
+ ```text
23
+ dbo.myproc
24
+ ```
25
+
26
+ ### パラメータ
27
+
28
+ - パラメータは次の要素で構成されています:
29
+ - パラメータ名
30
+ - 入出力指定:IN、OUT、INOUT(初期値を持つOUTタイプ)
31
+ - パラメータタイプ:CHAR、VARCHAR、NCHAR、NVARCHAR、TEXT、NTEXT、TINYINT、SMALLINT、INT、BIGINT、FLOAT、REAL、DECIMAL、NUMERIC、MONEY、SMALLMONEY、DATE、TIME、DATETIME、SMALLDATETIME、DATETIME2、DATETIMEOFFSET
32
+ - 値:変数が入力の場合、その入力に対する値
33
+ - 最大サイズ:変数タイプがCHAR、VARCHAR、NCHAR、NVARCHAR、TEXT、NTEXTの場合、変数の最大サイズを指定し、DECIMAL、NUMERICは精度情報を設定します。
34
+
35
+ #### パラメータ名
36
+
37
+ プロシージャ作成に使用されたパラメータの名前を指定します。前の例の場合、
38
+
39
+ ```sql
40
+ EXEC dbo.myproc @id, @out_name OUTPUT;
41
+ ```
42
+
43
+ idとout_nameがそれぞれパラメータ名です。
44
+
45
+ #### 入出力指定
46
+
47
+ その変数が入力(IN)、出力(OUT)、または入出力(INOUT)であるかを指定します。MSSQLでは`IN`、`OUT`、`INOUT`などで指定できます。
48
+
49
+ #### パラメータタイプ
50
+
51
+ パラメータタイプを指定します。MSSQLで使用される文字列データタイプには`CHAR`、`VARCHAR`、`NCHAR`、`NVARCHAR`、`TEXT`、`NTEXT`があり、数値タイプには`TINYINT`、`SMALLINT`、`INT`、`BIGINT`、`FLOAT`、`REAL`、`DECIMAL`、`NUMERIC`、`MONEY`、`SMALLMONEY`があります。日付と時間のタイプには`DATE`、`TIME`、`DATETIME`、`SMALLDATETIME`、`DATETIME2`、`DATETIMEOFFSET`があります。
52
+
53
+ プロシージャが次のように実装されている場合、
54
+
55
+ ```sql
56
+ CREATE PROCEDURE dbo.myproc (@in_id VARCHAR(50), @out_name VARCHAR(50) OUTPUT)
57
+ AS
58
+ BEGIN
59
+ SELECT @out_name = name FROM dbo.Users WHERE id = @in_id;
60
+ END;
61
+ ```
62
+
63
+ 最初のパラメータと2番目のパラメータはどちらも`VARCHAR`で指定されており、このようなプロシージャを呼び出す場合、パラメータタイプはすべて`VARCHAR`を指定する必要があり、出力の場合、最大サイズまで指定する必要があります。
64
+
65
+ #### 値(val)
66
+
67
+ パラメータが入力(IN)の場合、その値を指定します。その値に直接"定数"値を入力します。
68
+
69
+ この値は上記の'アクセス設定'に結果がない場合に使用されます。
70
+
71
+ #### 最大サイズ
72
+
73
+ パラメータタイプがCHAR、VARCHAR、NCHAR、NVARCHAR、TEXT、NTEXTの場合、最大サイズを指定します。他のタイプの場合、値を指定せず無視します。
74
+
75
+ ## タスク結果
76
+
77
+ プロシージャ呼び出しの結果はObject形式で返され、出力に指定されたパラメータ名がキー
78
+
79
+ となり値が返されます。
80
+
81
+ 例えば、上記で紹介されたタスクの結果値は次のように返されます。
82
+
83
+ ```
84
+ {
85
+ out_name: 'Admin'
86
+ }
87
+ ```
88
+
89
+ ## その他の使用例(カーソル)
90
+
91
+ ### プロシージャ作成例
92
+
93
+ ```sql
94
+ CREATE PROCEDURE dbo.GetFarmWeather (@out_cursor CURSOR VARYING OUTPUT)
95
+ AS
96
+ BEGIN
97
+ SET @out_cursor = CURSOR FOR
98
+ SELECT * FROM dbo.FarmWeather WHERE rownum <= 1000;
99
+ OPEN @out_cursor;
100
+ END;
101
+ ```
102
+
103
+ ### プロシージャ作成例
104
+
105
+ ![procedure example1](./assets/../../../../assets/images/mssql-procedure-example1.png 'procedure example1')
@@ -0,0 +1,89 @@
1
+ # MSSQL Procedure
2
+
3
+ MSSQL 데이터베이스에 저장되어 있는 프로시저를 호출하는 태스크이며, 개별 데이터 타입에 따라서 데이터의 리스트 혹은 특정 데이터 타입의 값을 반환한다.
4
+
5
+ ## Parameters
6
+
7
+ ### 프로시저 코드
8
+
9
+ - 프로시저 코드는 *프로시저 이름*과 *파라미터*에 의해서 자동으로 생성되는 코드로서, 별도로 사용자가 입력할 필요는 없다.
10
+ - 만약, 프로시저의 이름이 *dbo.myproc*이고, 파라미터가 *id*와 *out_name*으로 구성된다면, 다음과 같이 표현된다.
11
+
12
+ ```
13
+ EXEC dbo.myproc @id, @out_name OUTPUT;
14
+ ```
15
+
16
+ ### 프로시저 이름
17
+
18
+ - 프로시저의 이름을 지정한다.
19
+ - 프로시저가 스키마 이름 등으로 구분이 필요할 경우 '.'을 통해서 구분한다.
20
+ - 사용 예.
21
+
22
+ ```text
23
+ dbo.myproc
24
+ ```
25
+
26
+ ### 파라미터
27
+
28
+ - 파라미터는 다음과 같은 요소로 구성되어 있다.
29
+ - 파라미터 이름
30
+ - 입출력 지정: IN, OUT, INOUT(초기값을 갖는 OUT 타입)
31
+ - 파라미터 타입: CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT, TINYINT, SMALLINT, INT, BIGINT, FLOAT, REAL, DECIMAL, NUMERIC, MONEY, SMALLMONEY, DATE, TIME, DATETIME, SMALLDATETIME, DATETIME2, DATETIMEOFFSET
32
+ - 값: 해당 변수가 입력일 경우, 해당 입력에 대한 값
33
+ - 최대 크기: 해당 변수 타입이 CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT일 경우, 변수의 최대 크기를 지정하며, DECIMAL, NUMERIC은 자릿수 정보를 설정한다.
34
+
35
+ #### 파라미터 이름
36
+
37
+ 파라미터 이름은 프로시저 작성에 사용된 파라미터의 이름을 지정한다. 앞의 예의 경우,
38
+
39
+ ```sql
40
+ EXEC dbo.myproc @id, @out_name OUTPUT;
41
+ ```
42
+
43
+ id와 out_name이 각각 파라미터 이름이다.
44
+
45
+ #### 입출력 지정
46
+
47
+ 해당 변수가 입력(IN), 출력(OUT), 혹은 입출력(INOUT) 여부를 지정한다. MSSQL에서는 `IN`, `OUT`, `INOUT` 등으로 지정할 수 있다.
48
+
49
+ #### 파라미터 타입
50
+
51
+ 파라미터 타입을 지정한다. MSSQL에서 사용되는 문자열 데이터 타입에는 `CHAR`, `VARCHAR`, `NCHAR`, `NVARCHAR`, `TEXT`, `NTEXT` 등이 있으며, 숫자 타입에는 `TINYINT`, `SMALLINT`, `INT`, `BIGINT`, `FLOAT`, `REAL`, `DECIMAL`, `NUMERIC`, `MONEY`, `SMALLMONEY` 등이 있다. 날짜와 시간 타입에는 `DATE`, `TIME`, `DATETIME`, `SMALLDATETIME`, `DATETIME2`, `DATETIMEOFFSET` 등이 있다.
52
+
53
+ 프로시저가 다음과 같이 구현되어 있다면,
54
+
55
+ ```sql
56
+ CREATE PROCEDURE dbo.myproc (@in_id VARCHAR(50), @out_name VARCHAR(50) OUTPUT)
57
+ AS
58
+ BEGIN
59
+ SELECT @out_name = name FROM dbo.Users WHERE id = @in_id;
60
+ END;
61
+ ```
62
+
63
+ 첫 번째 파라미터와 두 번째 파라미터 모두 `VARCHAR`로 지정되어 있으며, 이러한 프로시저를 호출해야 할 경우 파라미터 타입은 모두 `VARCHAR`를 지정해야 하고, 출력의 경우, 최대 크기까지 지정해야 한다.
64
+
65
+ #### 값(val)
66
+
67
+ 파라미터가 입력(IN)일 경우, 해당 값을 지정한다. 해당 값에 바로 "상수" 값을 입력한다.
68
+
69
+ 이 값은 위 '접근자' 설정에 따른 결과가 없는 경우에 이 '값'이 사용된다.
70
+
71
+ #### 최대 크기
72
+
73
+ 파라미터 타입이 CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT일 경우, 최대 크기를 지정한다. 다른 타입의 경우 값을 지정하지 않고 무시한다.
74
+
75
+ ## 태스크 결과
76
+
77
+ 프로시저 호출에 대한 결과는 Object 형태로 반환되며, 파라미터 중에서 출력으로 지정된 파라미터 이름이 키가 되어 값을 반환한다.
78
+
79
+ 만약, 위에서 소개된 태스크의 경우 다음과 같은 결과 값을 반환한다.
80
+
81
+ ```
82
+ {
83
+ out_name: 'Admin'
84
+ }
85
+ ```
86
+
87
+ ### 프로시저 작성 예
88
+
89
+ ![procedure example1](./assets/../../../../assets/images/mssql-procedure-example1.png 'procedure example1')
@@ -0,0 +1,89 @@
1
+ # MSSQL Procedure
2
+
3
+ This task involves calling a procedure stored in an MSSQL database and returning either a list of data or a value of a specific data type based on individual data types.
4
+
5
+ ## Parameters
6
+
7
+ ### Procedure Code
8
+
9
+ - The procedure code is automatically generated by the _procedure name_ and _parameters_, and the user does not need to input it separately.
10
+ - For example, if the procedure name is _dbo.myproc_ and the parameters are _id_ and _out_name_, it is represented as follows:
11
+
12
+ ```
13
+ EXEC dbo.myproc @id, @out_name OUTPUT;
14
+ ```
15
+
16
+ ### Procedure Name
17
+
18
+ - Specify the name of the procedure.
19
+ - If the procedure needs to be distinguished by schema name, it is separated by '.'.
20
+ - Example usage.
21
+
22
+ ```text
23
+ dbo.myproc
24
+ ```
25
+
26
+ ### Parameters
27
+
28
+ - Parameters consist of the following elements:
29
+ - Parameter name
30
+ - Input/output designation: IN, OUT, INOUT (OUT type with initial value)
31
+ - Parameter type: CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT, TINYINT, SMALLINT, INT, BIGINT, FLOAT, REAL, DECIMAL, NUMERIC, MONEY, SMALLMONEY, DATE, TIME, DATETIME, SMALLDATETIME, DATETIME2, DATETIMEOFFSET
32
+ - Value: if the variable is input, the value for that input
33
+ - Maximum size: if the variable type is CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT, specify the maximum size of the variable, DECIMAL, NUMERIC set the precision.
34
+
35
+ #### Parameter Name
36
+
37
+ Specify the name of the parameter used in writing the procedure. In the above example,
38
+
39
+ ```sql
40
+ EXEC dbo.myproc @id, @out_name OUTPUT;
41
+ ```
42
+
43
+ id and out_name are the parameter names.
44
+
45
+ #### Input/Output Designation
46
+
47
+ Specify whether the variable is input (IN), output (OUT), or input/output (INOUT). In MSSQL, it can be designated as `IN`, `OUT`, `INOUT`, etc.
48
+
49
+ #### Parameter Type
50
+
51
+ Specify the parameter type. In MSSQL, string data types include `CHAR`, `VARCHAR`, `NCHAR`, `NVARCHAR`, `TEXT`, `NTEXT`, and numeric types include `TINYINT`, `SMALLINT`, `INT`, `BIGINT`, `FLOAT`, `REAL`, `DECIMAL`, `NUMERIC`, `MONEY`, `SMALLMONEY`. Date and time types include `DATE`, `TIME`, `DATETIME`, `SMALLDATETIME`, `DATETIME2`, `DATETIMEOFFSET`.
52
+
53
+ If the procedure is implemented as follows,
54
+
55
+ ```sql
56
+ CREATE PROCEDURE dbo.myproc (@in_id VARCHAR(50), @out_name VARCHAR(50) OUTPUT)
57
+ AS
58
+ BEGIN
59
+ SELECT @out_name = name FROM dbo.Users WHERE id = @in_id;
60
+ END;
61
+ ```
62
+
63
+ Both the first and second parameters are designated as `VARCHAR`, and when calling such a procedure, the parameter type must be specified as `VARCHAR`, and the output's maximum size must be specified.
64
+
65
+ #### Value (val)
66
+
67
+ If the parameter is input (IN), specify the value. Input the "constant" value directly for that value.
68
+
69
+ This value is used when there is no result from the 'accessor' setting above.
70
+
71
+ #### Maximum Size
72
+
73
+ If the parameter type is CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT, specify the maximum size. For other types, do not specify a value and ignore it.
74
+
75
+ ## Task Result
76
+
77
+ The result of the procedure call is returned in Object format, with the parameter names designated as output being the keys and the values being returned.
78
+
79
+ For example, the result value of the task introduced above is returned as follows:
80
+
81
+ ```
82
+ {
83
+ out_name: 'Admin'
84
+ }
85
+ ```
86
+
87
+ ### Procedure Example
88
+
89
+ ![procedure example1](./assets/../../../../assets/images/mssql-procedure-example1.png 'procedure example1')
@@ -0,0 +1,89 @@
1
+ # Prosedur MSSQL
2
+
3
+ Ini adalah tugas untuk memanggil prosedur yang disimpan dalam pangkalan data MSSQL, mengembalikan senarai data atau nilai jenis data tertentu berdasarkan jenis data individu.
4
+
5
+ ## Parameter
6
+
7
+ ### Kod Prosedur
8
+
9
+ - Kod prosedur dijana secara automatik oleh _nama prosedur_ dan _parameter_, dan pengguna tidak perlu memasukkannya secara berasingan.
10
+ - Sebagai contoh, jika nama prosedur adalah _dbo.myproc_ dan parameternya adalah _id_ dan _out_name_, ia diwakili seperti berikut:
11
+
12
+ ```
13
+ EXEC dbo.myproc @id, @out_name OUTPUT;
14
+ ```
15
+
16
+ ### Nama Prosedur
17
+
18
+ - Tentukan nama prosedur.
19
+ - Jika prosedur perlu dibezakan oleh nama skema, ia dipisahkan dengan '.'.
20
+ - Contoh penggunaan.
21
+
22
+ ```text
23
+ dbo.myproc
24
+ ```
25
+
26
+ ### Parameter
27
+
28
+ - Parameter terdiri daripada elemen berikut:
29
+ - Nama parameter
30
+ - Penetapan input/output: IN, OUT, INOUT (jenis OUT dengan nilai awal)
31
+ - Jenis parameter: CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT, TINYINT, SMALLINT, INT, BIGINT, FLOAT, REAL, DECIMAL, NUMERIC, MONEY, SMALLMONEY, DATE, TIME, DATETIME, SMALLDATETIME, DATETIME2, DATETIMEOFFSET
32
+ - Nilai: jika pembolehubah adalah input, nilai untuk input tersebut
33
+ - Saiz maksimum: jika jenis pembolehubah adalah CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT, tentukan saiz maksimum pembolehubah, DECIMAL, NUMERIC menetapkan ketepatan.
34
+
35
+ #### Nama Parameter
36
+
37
+ Tentukan nama parameter yang digunakan dalam penulisan prosedur. Dalam contoh di atas,
38
+
39
+ ```sql
40
+ EXEC dbo.myproc @id, @out_name OUTPUT;
41
+ ```
42
+
43
+ id dan out_name adalah nama parameter.
44
+
45
+ #### Penetapan Input/Output
46
+
47
+ Tentukan sama ada pembolehubah adalah input (IN), output (OUT), atau input/output (INOUT). Dalam MSSQL, ia boleh ditetapkan sebagai `IN`, `OUT`, `INOUT`, dll.
48
+
49
+ #### Jenis Parameter
50
+
51
+ Tentukan jenis parameter. Dalam MSSQL, jenis data string termasuk `CHAR`, `VARCHAR`, `NCHAR`, `NVARCHAR`, `TEXT`, `NTEXT`, dan jenis berangka termasuk `TINYINT`, `SMALLINT`, `INT`, `BIGINT`, `FLOAT`, `REAL`, `DECIMAL`, `NUMERIC`, `MONEY`, `SMALLMONEY`. Jenis tarikh dan masa termasuk `DATE`, `TIME`, `DATETIME`, `SMALLDATETIME`, `DATETIME2`, `DATETIMEOFFSET`.
52
+
53
+ Jika prosedur dilaksanakan seperti berikut,
54
+
55
+ ```sql
56
+ CREATE PROCEDURE dbo.myproc (@in_id VARCHAR(50), @out_name VARCHAR(50) OUTPUT)
57
+ AS
58
+ BEGIN
59
+ SELECT @out_name = name FROM dbo.Users WHERE id = @in_id;
60
+ END;
61
+ ```
62
+
63
+ Parameter pertama dan kedua kedua-duanya ditetapkan sebagai `VARCHAR`, dan apabila memanggil prosedur sedemikian, jenis parameter mesti ditetapkan sebagai `VARCHAR`, dan saiz maksimum output mesti ditetapkan.
64
+
65
+ #### Nilai (val)
66
+
67
+ Jika parameter adalah input (IN), tentukan nilainya. Masukkan nilai "konstan" secara langsung untuk nilai tersebut.
68
+
69
+ Nilai ini digunakan apabila tiada hasil daripada tetapan 'akses' di atas.
70
+
71
+ #### Saiz Maksimum
72
+
73
+ Jika jenis parameter adalah CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT, tentukan saiz maksimum. Untuk jenis lain, jangan tentukan nilai dan abaikan.
74
+
75
+ ## Hasil Tugas
76
+
77
+ Hasil panggilan prosedur dikembalikan dalam format Object, dengan nama parameter yang ditetapkan sebagai output menjadi kunci dan nilai dikembalikan.
78
+
79
+ Sebagai contoh, hasil nilai tugas yang diperkenalkan di atas dikembalikan seperti berikut:
80
+
81
+ ```
82
+ {
83
+ out_name: 'Admin'
84
+ }
85
+ ```
86
+
87
+ ### Contoh Prosedur
88
+
89
+ ![procedure example1](./assets/../../../../assets/images/mssql-procedure-example1.png 'procedure example1')
@@ -0,0 +1,103 @@
1
+ # MSSQL 过程
2
+
3
+ 这是一个调用存储在MSSQL数据库中的过程的任务,根据不同的数据类型返回数据列表或特定数据类型的值。
4
+
5
+ ## 参数
6
+
7
+ ### 过程代码
8
+
9
+ - 过程代码由*过程名称*和*参数*自动生成,用户无需单独输入。
10
+ - 例如,如果过程名称是*dbo.myproc*,参数是*id*和*out_name*,则表示如下:
11
+
12
+ ```
13
+ EXEC dbo.myproc @id, @out_name OUTPUT;
14
+ ```
15
+
16
+ ### 过程名称
17
+
18
+ - 指定过程的名称。
19
+ - 如果过程需要通过架构名称区分,则用'.'分隔。
20
+ - 使用示例。
21
+
22
+ ```text
23
+ dbo.myproc
24
+ ```
25
+
26
+ ### 参数
27
+
28
+ - 参数由以下元素组成:
29
+ - 参数名称
30
+ - 输入/输出指定:IN, OUT, INOUT(具有初始值的OUT类型)
31
+ - 参数类型:CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT, TINYINT, SMALLINT, INT, BIGINT, FLOAT, REAL, DECIMAL, NUMERIC, MONEY, SMALLMONEY, DATE, TIME, DATETIME, SMALLDATETIME, DATETIME2, DATETIMEOFFSET
32
+ - 值:如果变量是输入,则为该输入的值
33
+ - 最大大小:如果变量类型是CHAR, VARCHAR, NCHAR, NVARCHAR, TEXT, NTEXT,则指定变量的最大大小,DECIMAL, NUMERIC则设置精度。
34
+
35
+ #### 参数名称
36
+
37
+ 指定用于编写过程的参数名称。在上述示例中,
38
+
39
+ ```sql
40
+ EXEC dbo.myproc @id, @out_name OUTPUT;
41
+ ```
42
+
43
+ id和out_name分别是参数名称。
44
+
45
+ #### 输入/输出指定
46
+
47
+ 指定变量是输入(IN)、输出(OUT)还是输入/输出(INOUT)。在MSSQL中,可以指定为`IN`、`OUT`、`INOUT`等。
48
+
49
+ #### 参数类型
50
+
51
+ 指定参数类型。在MSSQL中,字符串数据类型包括`CHAR`、`VARCHAR`、`NCHAR`、`NVARCHAR`、`TEXT`、`NTEXT`,数值类型包括`TINYINT`、`SMALLINT`、`INT`、`BIGINT`、`FLOAT`、`REAL`、`DECIMAL`、`NUMERIC`、`MONEY`、`SMALLMONEY`。日期和时间类型包括`DATE`、`TIME`、`DATETIME`、`SMALLDATETIME`、`DATETIME2`、`DATETIMEOFFSET`。
52
+
53
+ 如果过程如下所示,
54
+
55
+ ```sql
56
+ CREATE PROCEDURE dbo.myproc (@in_id VARCHAR(50), @out_name VARCHAR(50) OUTPUT)
57
+ AS
58
+ BEGIN
59
+ SELECT @out_name = name FROM dbo.Users WHERE id = @in_id;
60
+ END;
61
+ ```
62
+
63
+ 第一个和第二个参数都指定为`VARCHAR`,调用此类过程时,参数类型必须指定为`VARCHAR`,输出的最大大小必须指定。
64
+
65
+ #### 值(val)
66
+
67
+ 如果参数是输入(IN),则指定该值。直接为该值输入"常数"值。
68
+
69
+ 当上述'访问者'设置没有结果时,将使用该'值'。
70
+
71
+ #### 最大大小
72
+
73
+ 如果参数类型是CHAR、VARCHAR、NCHAR、NVARCHAR、TEXT、NTEXT,则指定最大大小。对于其他类型,不指定值并忽略。
74
+
75
+ ## 任务结果
76
+
77
+ 过程调用的结果以Object格式返回,输出指定的参数名称作为键返回值。
78
+
79
+ 例如,上述任务的结果值如下返回:
80
+
81
+ ```
82
+ {
83
+ out_name: 'Admin'
84
+ }
85
+ ```
86
+
87
+ ## 其他使用示例(游标)
88
+
89
+ ### 过程示例
90
+
91
+ ```sql
92
+ CREATE PROCEDURE dbo.GetFarmWeather (@out_cursor CURSOR VARYING OUTPUT)
93
+ AS
94
+ BEGIN
95
+ SET @out_cursor = CURSOR FOR
96
+ SELECT * FROM dbo.FarmWeather WHERE rownum <= 1000;
97
+ OPEN @out_cursor;
98
+ END;
99
+ ```
100
+
101
+ ### 过程示例
102
+
103
+ ![procedure example1](./assets/../../../../assets/images/mssql-procedure-example1.png 'procedure example1')
@@ -84,8 +84,6 @@ END;
84
84
  파라미터가 입력(IN)일 경우, 해당 값을 지정한다.
85
85
  해당 값에 바로 "상수" 값을 입력한다.
86
86
 
87
- 위의 예어서 id의 입력 값을 ID라고 지정되어 있다면, ID 태스크에서 반환되는 값을 입력 값으로 지정한다.
88
-
89
87
  이 값은 위 '접근자' 설정에 따른 결과가 없는 경우에 이 '값'이 사용된다.
90
88
 
91
89
  ### 최대 크기
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/integration-base",
3
- "version": "7.0.10",
3
+ "version": "7.0.14",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -27,14 +27,14 @@
27
27
  "dependencies": {
28
28
  "@apollo/client": "^3.6.9",
29
29
  "@operato/moment-timezone-es": "^7.0.0",
30
- "@things-factory/api": "^7.0.10",
31
- "@things-factory/auth-base": "^7.0.10",
32
- "@things-factory/cache-service": "^7.0.10",
33
- "@things-factory/env": "^7.0.0",
34
- "@things-factory/oauth2-client": "^7.0.10",
35
- "@things-factory/scheduler-client": "^7.0.10",
36
- "@things-factory/shell": "^7.0.10",
37
- "@things-factory/utils": "^7.0.0",
30
+ "@things-factory/api": "^7.0.14",
31
+ "@things-factory/auth-base": "^7.0.14",
32
+ "@things-factory/cache-service": "^7.0.14",
33
+ "@things-factory/env": "^7.0.14",
34
+ "@things-factory/oauth2-client": "^7.0.14",
35
+ "@things-factory/scheduler-client": "^7.0.14",
36
+ "@things-factory/shell": "^7.0.14",
37
+ "@things-factory/utils": "^7.0.14",
38
38
  "async-mqtt": "^2.5.0",
39
39
  "chance": "^1.1.11",
40
40
  "cross-fetch": "^3.0.4",
@@ -44,5 +44,5 @@
44
44
  "readline": "^1.3.0",
45
45
  "ses": "^1.5.0"
46
46
  },
47
- "gitHead": "9da4e145880a6d637db60f03116d5bbfdb6f4cfc"
47
+ "gitHead": "f035fb9205690ef854626872fcdfc85608d84dc2"
48
48
  }