extracted objects
This commit is contained in:
9
docs/types/ENUM_TABLE_OBJECT.md
Normal file
9
docs/types/ENUM_TABLE_OBJECT.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# ENUM_TABLE_OBJECT
|
||||
|
||||
## Definizione
|
||||
|
||||
```sql
|
||||
TYPE "ENUM_TABLE_OBJECT" AS OBJECT (
|
||||
ID NUMBER,
|
||||
RESULT VARCHAR2(4000)
|
||||
);```
|
||||
7
docs/types/ENUM_TABLE_TYPE.md
Normal file
7
docs/types/ENUM_TABLE_TYPE.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# ENUM_TABLE_TYPE
|
||||
|
||||
## Definizione
|
||||
|
||||
```sql
|
||||
TYPE "ENUM_TABLE_TYPE" AS TABLE OF ENUM_TABLE_OBJECT;
|
||||
```
|
||||
134
docs/types/README.md
Normal file
134
docs/types/README.md
Normal file
@@ -0,0 +1,134 @@
|
||||
# Tipi Custom Database
|
||||
|
||||
Questa cartella contiene la documentazione di tutti i 10 tipi custom del database (esclusi i tipi PLJSON).
|
||||
|
||||
## Tipi per Funzioni Pipelined
|
||||
|
||||
Questi tipi sono utilizzati dalle funzioni che ritornano tabelle (pipelined functions).
|
||||
|
||||
### F_GET_OSPITI
|
||||
|
||||
| Tipo | Descrizione |
|
||||
|------|-------------|
|
||||
| [T_DET_OSPITI_ROW](T_DET_OSPITI_ROW.md) | Tipo OBJECT per singola riga |
|
||||
| [T_DET_OSPITI_TAB](T_DET_OSPITI_TAB.md) | Tipo TABLE OF T_DET_OSPITI_ROW |
|
||||
|
||||
```sql
|
||||
-- Struttura T_DET_OSPITI_ROW
|
||||
CREATE TYPE T_DET_OSPITI_ROW AS OBJECT (
|
||||
ID_EVENTO NUMBER,
|
||||
TOT_ADULTI NUMBER,
|
||||
TOT_KINDER NUMBER,
|
||||
TOT_BABY NUMBER,
|
||||
TOT_STAFF NUMBER,
|
||||
TOT_INVITATI NUMBER,
|
||||
NOTE_ADULTI VARCHAR2(1000),
|
||||
NOTE_KINDER VARCHAR2(1000),
|
||||
NOTE_BABY VARCHAR2(1000),
|
||||
NOTE_STAFF VARCHAR2(1000)
|
||||
);
|
||||
|
||||
-- Struttura T_DET_OSPITI_TAB
|
||||
CREATE TYPE T_DET_OSPITI_TAB AS TABLE OF T_DET_OSPITI_ROW;
|
||||
```
|
||||
|
||||
### F_REP_ALLESTIMENTI
|
||||
|
||||
| Tipo | Descrizione |
|
||||
|------|-------------|
|
||||
| [T_REP_ALLESTIMENTI_ROW](T_REP_ALLESTIMENTI_ROW.md) | Tipo OBJECT per singola riga |
|
||||
| [T_REP_ALLESTIMENTI_TAB](T_REP_ALLESTIMENTI_TAB.md) | Tipo TABLE OF T_REP_ALLESTIMENTI_ROW |
|
||||
|
||||
### F_REP_CUCINA
|
||||
|
||||
| Tipo | Descrizione |
|
||||
|------|-------------|
|
||||
| [T_REP_CUCINA_ROW](T_REP_CUCINA_ROW.md) | Tipo OBJECT per singola riga |
|
||||
| [T_REP_CUCINA_TAB](T_REP_CUCINA_TAB.md) | Tipo TABLE OF T_REP_CUCINA_ROW |
|
||||
|
||||
## Tipi Utility
|
||||
|
||||
| Tipo | Descrizione |
|
||||
|------|-------------|
|
||||
| [STRING_LIST](STRING_LIST.md) | Tipo TABLE OF VARCHAR2 per liste stringhe |
|
||||
| [ENUM_TABLE_OBJECT](ENUM_TABLE_OBJECT.md) | Tipo OBJECT per STRING_TO_TABLE_ENUM |
|
||||
| [ENUM_TABLE_TYPE](ENUM_TABLE_TYPE.md) | Tipo TABLE OF ENUM_TABLE_OBJECT |
|
||||
| [XLIB_VC2_ARRAY_T](XLIB_VC2_ARRAY_T.md) | Array di VARCHAR2 per XLIB |
|
||||
|
||||
## Utilizzo in Query
|
||||
|
||||
```sql
|
||||
-- Esempio uso F_GET_OSPITI
|
||||
SELECT * FROM TABLE(F_GET_OSPITI(123));
|
||||
|
||||
-- Esempio uso STRING_TO_TABLE_ENUM
|
||||
SELECT * FROM TABLE(STRING_TO_TABLE_ENUM('A:B:C', 0, ':'));
|
||||
```
|
||||
|
||||
## Migrazione .NET
|
||||
|
||||
In .NET i tipi Oracle pipelined vengono sostituiti con classi DTO e IEnumerable/IAsyncEnumerable.
|
||||
|
||||
### Esempio T_DET_OSPITI_ROW → DTO
|
||||
|
||||
```csharp
|
||||
public class DettaglioOspitiDto
|
||||
{
|
||||
public int IdEvento { get; set; }
|
||||
public int TotAdulti { get; set; }
|
||||
public int TotKinder { get; set; }
|
||||
public int TotBaby { get; set; }
|
||||
public int TotStaff { get; set; }
|
||||
public int TotInvitati { get; set; }
|
||||
public string NoteAdulti { get; set; }
|
||||
public string NoteKinder { get; set; }
|
||||
public string NoteBaby { get; set; }
|
||||
public string NoteStaff { get; set; }
|
||||
}
|
||||
```
|
||||
|
||||
### Esempio F_GET_OSPITI → Metodo Service
|
||||
|
||||
```csharp
|
||||
public async Task<DettaglioOspitiDto> GetOspitiAsync(int idEvento)
|
||||
{
|
||||
var ospiti = await _context.EventiDetOspiti
|
||||
.Where(o => o.IdEvento == idEvento)
|
||||
.ToListAsync();
|
||||
|
||||
return new DettaglioOspitiDto
|
||||
{
|
||||
IdEvento = idEvento,
|
||||
TotAdulti = ospiti.FirstOrDefault(o => o.CodTipoOspite == "8")?.Numero ?? 0,
|
||||
TotKinder = ospiti.FirstOrDefault(o => o.CodTipoOspite == "5")?.Numero ?? 0,
|
||||
TotBaby = ospiti.FirstOrDefault(o => o.CodTipoOspite == "6")?.Numero ?? 0,
|
||||
TotStaff = ospiti.FirstOrDefault(o => o.CodTipoOspite == "7")?.Numero ?? 0,
|
||||
TotInvitati = ospiti.Sum(o => o.Numero ?? 0),
|
||||
NoteAdulti = ospiti.FirstOrDefault(o => o.CodTipoOspite == "8")?.Note,
|
||||
NoteKinder = ospiti.FirstOrDefault(o => o.CodTipoOspite == "5")?.Note,
|
||||
NoteBaby = ospiti.FirstOrDefault(o => o.CodTipoOspite == "6")?.Note,
|
||||
NoteStaff = ospiti.FirstOrDefault(o => o.CodTipoOspite == "7")?.Note
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
### Esempio STRING_TO_TABLE_ENUM → Extension Method
|
||||
|
||||
```csharp
|
||||
public static class StringExtensions
|
||||
{
|
||||
public static IEnumerable<string> ToTableEnum(this string input, char delimiter = ':')
|
||||
{
|
||||
if (string.IsNullOrEmpty(input))
|
||||
yield break;
|
||||
|
||||
foreach (var item in input.Split(delimiter))
|
||||
{
|
||||
yield return item.Trim();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Uso
|
||||
var items = "A:B:C".ToTableEnum(':');
|
||||
```
|
||||
7
docs/types/STRING_LIST.md
Normal file
7
docs/types/STRING_LIST.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# STRING_LIST
|
||||
|
||||
## Definizione
|
||||
|
||||
```sql
|
||||
TYPE "STRING_LIST" as table of varchar2(32767);
|
||||
```
|
||||
18
docs/types/T_DET_OSPITI_ROW.md
Normal file
18
docs/types/T_DET_OSPITI_ROW.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# T_DET_OSPITI_ROW
|
||||
|
||||
## Definizione
|
||||
|
||||
```sql
|
||||
TYPE "T_DET_OSPITI_ROW" AS OBJECT (
|
||||
id_evento number,
|
||||
TOT_ADULTI number,
|
||||
TOT_KINDER number,
|
||||
TOT_BABY number,
|
||||
TOT_STAFF number,
|
||||
TOT_INVITATI number,
|
||||
NOTE_ADULTI varchar2(1000),
|
||||
NOTE_KINDER varchar2(1000),
|
||||
NOTE_BABY varchar2(1000),
|
||||
NOTE_STAFF varchar2(1000)
|
||||
);
|
||||
```
|
||||
7
docs/types/T_DET_OSPITI_TAB.md
Normal file
7
docs/types/T_DET_OSPITI_TAB.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# T_DET_OSPITI_TAB
|
||||
|
||||
## Definizione
|
||||
|
||||
```sql
|
||||
TYPE "T_DET_OSPITI_TAB" IS TABLE OF t_det_ospiti_row;
|
||||
```
|
||||
137
docs/types/T_REP_ALLESTIMENTI_ROW.md
Normal file
137
docs/types/T_REP_ALLESTIMENTI_ROW.md
Normal file
@@ -0,0 +1,137 @@
|
||||
# T_REP_ALLESTIMENTI_ROW
|
||||
|
||||
## Definizione
|
||||
|
||||
```sql
|
||||
TYPE "T_REP_ALLESTIMENTI_ROW" AS OBJECT (
|
||||
D1 varchar2(100),
|
||||
D2 varchar2(100),
|
||||
D3 varchar2(100),
|
||||
D4 varchar2(100),
|
||||
D5 varchar2(100),
|
||||
D6 varchar2(100),
|
||||
D7 varchar2(100),
|
||||
D8 varchar2(100),
|
||||
D9 varchar2(100),
|
||||
D10 varchar2(100),
|
||||
D11 varchar2(100),
|
||||
D12 varchar2(100),
|
||||
|
||||
L1 varchar2(100),
|
||||
L2 varchar2(100),
|
||||
L3 varchar2(100),
|
||||
L4 varchar2(100),
|
||||
L5 varchar2(100),
|
||||
L6 varchar2(100),
|
||||
L7 varchar2(100),
|
||||
L8 varchar2(100),
|
||||
L9 varchar2(100),
|
||||
L10 varchar2(100),
|
||||
L11 varchar2(100),
|
||||
L12 varchar2(100),
|
||||
|
||||
TOV_TO1 varchar2(1000),
|
||||
TOV_TO2 varchar2(1000),
|
||||
TOV_TO3 varchar2(1000),
|
||||
TOV_TO4 varchar2(1000),
|
||||
TOV_TO5 varchar2(1000),
|
||||
TOV_TO6 varchar2(1000),
|
||||
TOV_TO7 varchar2(1000),
|
||||
TOV_TO8 varchar2(1000),
|
||||
TOV_TO9 varchar2(1000),
|
||||
TOV_TO10 varchar2(1000),
|
||||
TOV_TO11 varchar2(1000),
|
||||
TOV_TO12 varchar2(1000),
|
||||
|
||||
C1 varchar2(1000),
|
||||
C2 varchar2(1000),
|
||||
C3 varchar2(1000),
|
||||
C4 varchar2(1000),
|
||||
C5 varchar2(1000),
|
||||
C6 varchar2(1000),
|
||||
C7 varchar2(1000),
|
||||
C8 varchar2(1000),
|
||||
C9 varchar2(1000),
|
||||
C10 varchar2(1000),
|
||||
C11 varchar2(1000),
|
||||
C12 varchar2(1000),
|
||||
|
||||
TOV_LO1 varchar2(1000),
|
||||
TOV_LO2 varchar2(1000),
|
||||
TOV_LO3 varchar2(1000),
|
||||
TOV_LO4 varchar2(1000),
|
||||
TOV_LO5 varchar2(1000),
|
||||
TOV_LO6 varchar2(1000),
|
||||
TOV_LO7 varchar2(1000),
|
||||
TOV_LO8 varchar2(1000),
|
||||
TOV_LO9 varchar2(1000),
|
||||
TOV_LO10 varchar2(1000),
|
||||
TOV_LO11 varchar2(1000),
|
||||
TOV_LO12 varchar2(1000),
|
||||
|
||||
A_G1 varchar2(1000),
|
||||
A_G2 varchar2(1000),
|
||||
A_G3 varchar2(1000),
|
||||
A_G4 varchar2(1000),
|
||||
A_G5 varchar2(1000),
|
||||
A_G6 varchar2(1000),
|
||||
A_G7 varchar2(1000),
|
||||
A_G8 varchar2(1000),
|
||||
A_G9 varchar2(1000),
|
||||
A_G10 varchar2(1000),
|
||||
A_G11 varchar2(1000),
|
||||
A_G12 varchar2(1000),
|
||||
|
||||
A_O1 varchar2(1000),
|
||||
A_O2 varchar2(1000),
|
||||
A_O3 varchar2(1000),
|
||||
A_O4 varchar2(1000),
|
||||
A_O5 varchar2(1000),
|
||||
A_O6 varchar2(1000),
|
||||
A_O7 varchar2(1000),
|
||||
A_O8 varchar2(1000),
|
||||
A_O9 varchar2(1000),
|
||||
A_O10 varchar2(1000),
|
||||
A_O11 varchar2(1000),
|
||||
A_O12 varchar2(1000),
|
||||
|
||||
A_R1 varchar2(1000),
|
||||
A_R2 varchar2(1000),
|
||||
A_R3 varchar2(1000),
|
||||
A_R4 varchar2(1000),
|
||||
A_R5 varchar2(1000),
|
||||
A_R6 varchar2(1000),
|
||||
A_R7 varchar2(1000),
|
||||
A_R8 varchar2(1000),
|
||||
A_R9 varchar2(1000),
|
||||
A_R10 varchar2(1000),
|
||||
A_R11 varchar2(1000),
|
||||
A_R12 varchar2(1000),
|
||||
|
||||
T1 varchar2(1000),
|
||||
T2 varchar2(1000),
|
||||
T3 varchar2(1000),
|
||||
T4 varchar2(1000),
|
||||
T5 varchar2(1000),
|
||||
T6 varchar2(1000),
|
||||
T7 varchar2(1000),
|
||||
T8 varchar2(1000),
|
||||
T9 varchar2(1000),
|
||||
T10 varchar2(1000),
|
||||
T11 varchar2(1000),
|
||||
T12 varchar2(1000),
|
||||
|
||||
SM1 varchar2(1000),
|
||||
SM2 varchar2(1000),
|
||||
SM3 varchar2(1000),
|
||||
SM4 varchar2(1000),
|
||||
SM5 varchar2(1000),
|
||||
SM6 varchar2(1000),
|
||||
SM7 varchar2(1000),
|
||||
SM8 varchar2(1000),
|
||||
SM9 varchar2(1000),
|
||||
SM10 varchar2(1000),
|
||||
SM11 varchar2(1000),
|
||||
SM12 varchar2(1000)
|
||||
);
|
||||
```
|
||||
7
docs/types/T_REP_ALLESTIMENTI_TAB.md
Normal file
7
docs/types/T_REP_ALLESTIMENTI_TAB.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# T_REP_ALLESTIMENTI_TAB
|
||||
|
||||
## Definizione
|
||||
|
||||
```sql
|
||||
TYPE "T_REP_ALLESTIMENTI_TAB" IS TABLE OF t_rep_allestimenti_row;
|
||||
```
|
||||
40
docs/types/T_REP_CUCINA_ROW.md
Normal file
40
docs/types/T_REP_CUCINA_ROW.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# T_REP_CUCINA_ROW
|
||||
|
||||
## Definizione
|
||||
|
||||
```sql
|
||||
TYPE "T_REP_CUCINA_ROW" AS OBJECT (
|
||||
data date,
|
||||
LOCATION varchar2(4000),
|
||||
cliente varchar2(4000),
|
||||
DESCRIZIONE varchar2(4000),
|
||||
ORA_CERIMONIA varchar2(4000),
|
||||
ORA_EVENTO varchar2(4000),
|
||||
TOT_ADULTI number,
|
||||
TOT_KINDER number,
|
||||
TOT_BABY number,
|
||||
TOT_STAFF number,
|
||||
TOT_INVITATI number,
|
||||
ALLERGIE varchar2(4000),
|
||||
TORTA varchar2(4000),
|
||||
CONFETTATA varchar2(4000),
|
||||
STAMPA_MENU varchar2(4000),
|
||||
ANGOLI varchar2(4000),
|
||||
EXTRA_INFO varchar2(4000),
|
||||
NOTE_ADULTI varchar2(4000),
|
||||
NOTE_KINDER varchar2(4000),
|
||||
NOTE_BABY varchar2(4000),
|
||||
NOTE_STAFF varchar2(4000),
|
||||
cliente_mail varchar2(4000),
|
||||
cliente_tel varchar2(4000),
|
||||
referente_tel varchar2(4000),
|
||||
distanza_location varchar2(4000),
|
||||
buffet_iniziale varchar2(4000),
|
||||
buffet_finale varchar2(4000),
|
||||
primi varchar2(4000),
|
||||
secondi varchar2(4000),
|
||||
vini varchar2(4000),
|
||||
extra_costi varchar2(4000),
|
||||
event_id number
|
||||
)
|
||||
```
|
||||
6
docs/types/T_REP_CUCINA_TAB.md
Normal file
6
docs/types/T_REP_CUCINA_TAB.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# T_REP_CUCINA_TAB
|
||||
|
||||
## Definizione
|
||||
|
||||
```sql
|
||||
TYPE "T_REP_CUCINA_TAB" IS TABLE OF t_rep_cucina_row```
|
||||
6
docs/types/XLIB_VC2_ARRAY_T.md
Normal file
6
docs/types/XLIB_VC2_ARRAY_T.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# XLIB_VC2_ARRAY_T
|
||||
|
||||
## Definizione
|
||||
|
||||
```sql
|
||||
TYPE "XLIB_VC2_ARRAY_T" AS TABLE OF VARCHAR2 (32767 CHAR)```
|
||||
Reference in New Issue
Block a user