@Structure, @Fields, @Indexes
Sólo aplican a archivos tabla (@Properties/Type : "Table").
@Structure
| Clave | Descripción |
|---|---|
Name | Nombre de la tabla. Debe empezar con letra, sólo letras/dígitos, máximo 10 caracteres (límite de nombre de objeto DDS). |
Description | Descripción de la tabla. |
Contiene además, anidadas: @Fields, @Indexes y opcionalmente @Documentation (ver @Documentation).
@Fields
Una línea Nombre tipo(...) por columna:
@Fields {
CodCli char(6) Description("Código de Cliente")
Nombre char(20) Description("Nombre")
Saldo number(9,2) Default(0)
FecAlta date
}
Tipos permitidos: sólo char, number, date (no field/list/matrix — esos son exclusivos de @Variables, ver Tipos de dato).
Modificadores:
| Modificador | Descripción |
|---|---|
Description("texto") | Descripción del campo. Requiere string entre comillas. |
Default(valor) | Valor por defecto: string entre comillas o número suelto, según el tipo del campo. No permitido en campos date. |
AllowNull | Permite NULL en este campo. Un campo PrimaryKey no puede llevar este modificador. |
@Indexes
Una entrada Kind(Nombre, [Campos...], "Descripción opcional") por acceso:
@Indexes {
PrimaryKey ( GRIDDEMOPK, [CodCli] )
Unique ( GRIDDEMOEMAIL, [Email], "Email único" )
Index ( GRIDDMNOM, [Nombre] )
}
| Kind | Descripción |
|---|---|
PrimaryKey | Acceso primario de la tabla. Sólo uno por tabla; sus campos no pueden ser AllowNull. |
Unique | Acceso secundario único. |
Index | Acceso secundario no único. |
Ejemplo completo
@Properties {
Type : "Table"
}
@Structure {
Name : "GRIDDEMO"
Description : "Clientes de ejemplo"
@Fields {
CodCli char(6) Description("Código de Cliente")
Nombre char(20) Description("Nombre")
Ciudad char(15) Description("Ciudad")
}
@Indexes {
PrimaryKey ( GRIDDEMOPK, [CodCli] )
Index ( GRIDDMNOM, [Nombre] )
}
}