質問編集履歴

5

ソースコード

2023/05/18 14:55

投稿

kaiji24
kaiji24

スコア5

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,8 @@
1
1
  ### 実現したいこと
2
2
 
3
- レコード型で定義した値を柔軟に操作したい。
3
+ レコード型で定義した項目のうち
4
- 例えば、kaisyano,buno,kanoを書きではなく、
4
+ kaisyano,buno,kanoを一括りに処理をしい。
5
- つの構造として扱いたい
5
+ 毎回、kaisyano=・・・、buno=・・・、kano・・・・と打つのではなく
6
6
 
7
7
  ```SQL
8
8
  TYPE T_EMPLOYEE IS RECORD(

4

ソースコード

2023/05/18 14:47

投稿

kaiji24
kaiji24

スコア5

test CHANGED
File without changes
test CHANGED
@@ -35,23 +35,15 @@
35
35
  );
36
36
  ```
37
37
 
38
- 2)まとめて扱いたい項目文字列リスト定義
38
+ 2)まとめて扱いたい項目は①文字列や、②配列定義出来ている。
39
-  
40
- TYPE T_KOUMOKU_LIST IS TABLE OF VARCHAR2(10) INDEX BY PLS_INTEGER;
41
- V_KOUMOKU_LIST T_KOUMOKU_LIST;
39
+  以下の部品をうまく使って実現出来ないか試案中。
42
-  V_KOUMOKU_LIST(1) := 'kaisyano';
43
- V_KOUMOKu_LIST(2) := 'buno';
44
- V__KOUMOKu_LIST(3) :='kano';
45
40
 
46
- FOR i IN _V_KOUMOKU_LIST.first .. _V_KOUMOKU_LIST.last LOOP
41
+  ①文字列
47
-  
48
-   V_KAISYANO := 'V_EMPLOYEE.' || V_KOUMOKU_LIST(i) || V_KAISYANO
42
+  V_KAISYA := 'kaisyano','buno','kano';
49
-  
50
-   END LOOP;
43
+ ②配列
51
-
52
- →もちろん、V_KAISYANO.kaisyanoV_KAISYANO.bunoV_KAISYANO.kanoという文字列が生成されるだけ。これからどう捻ればよいかわからなかった。
44
+ kaisya[0]:='kaisyano';
53
-
45
+ kaisya[1]:='buno';
46
+ kaisya[2]:='kano';
54
47
  ### 補足情報(FW/ツールのバージョンなど)
55
48
  Oracle database 12c
56
- ここにより詳細な情報を記載してください。
57
49
 

3

ソースコード

2023/05/18 14:42

投稿

kaiji24
kaiji24

スコア5

test CHANGED
File without changes
test CHANGED
@@ -21,17 +21,19 @@
21
21
  1) まとめて扱いたい箇所を、レコード型で定義したあと、全体をレコード定義
22
22
  ※カーソル定義の変数としても扱っているため、型が合わないとエラーになりました。
23
23
 
24
+ ```SQL(oracle)
24
25
  TYPE T_EMPLOYEE IS RECORD(
25
26
    id NUMBER(3,0),
26
-   v_kaisyanos t_kaisyano,
27
+   v_kaisya t_kaisya,
27
28
    address VARCHAR2(20)
28
29
  );
29
30
 
30
- TYPE T_KAISYANO IS RECORD(
31
+ TYPE T_KAISYA IS RECORD(
31
32
    kaisyano NUMBER(3,0),
32
33
    buno NUMBER(3,0),
33
34
    kano NUMBER(3,0),
34
35
  );
36
+ ```
35
37
 
36
38
  2)まとめて扱いたい項目を文字列リストで、定義
37
39
   

2

ソースコード

2023/05/18 14:40

投稿

kaiji24
kaiji24

スコア5

test CHANGED
File without changes
test CHANGED
@@ -12,9 +12,10 @@
12
12
    kano NUMBER(3,0),
13
13
    address VARCHAR2(20)
14
14
  );
15
+ V_EMPLOYEE T_EMPLOYEE;
15
16
  ```
16
17
 
17
- V_EMPLOYEE T_EMPLOYEE;
18
+
18
19
 
19
20
  ### 試したこと
20
21
  1) まとめて扱いたい箇所を、レコード型で定義したあと、全体をレコード定義

1

ソースコード

2023/05/18 14:40

投稿

kaiji24
kaiji24

スコア5

test CHANGED
File without changes
test CHANGED
@@ -4,6 +4,7 @@
4
4
  例えば、kaisyano,buno,kanoをべた書きではなく、
5
5
  一つの構造として扱いたい。
6
6
 
7
+ ```SQL
7
8
  TYPE T_EMPLOYEE IS RECORD(
8
9
    id NUMBER(3,0),
9
10
    kaisyano NUMBER(3,0),
@@ -11,6 +12,7 @@
11
12
    kano NUMBER(3,0),
12
13
    address VARCHAR2(20)
13
14
  );
15
+ ```
14
16
 
15
17
  V_EMPLOYEE T_EMPLOYEE;
16
18