Acum este Mie, 01-Mai-2024 17:17

Ora este UTC + 2 [ DST ]




Scrie un subiect nou Răspunde la subiect  [ 2 mesaje ] 
Autor Mesaj
 Subiectul mesajului: cheie primara / camp de tip GUID
MesajScris: Mar, 09-Dec-2003 13:23 
Neconectat

Membru din: Lun, 27-Oct-2003 11:00
Mesaje: 9
Salut,

Vreau sa creez o tabela si am cateva nelamuriri:

1. Cum pot sa creez un camp de tip GUID a.i sa formez cu campul MANDT o cheie primara - cand se selecteaza flag Key pt. un camp inseamna ca se defineste cheia primara, nu ? (adevarul ca nu prea am inteles din Help :
"The smallest possible combination of fields that can uniquely identify each line of the table is called the key*. Each table must have at least one key, and each table has one key that is defined as its primary key."
* deci aceasta este cheia primara - key = primary key - ce rost mai are "and each table has one key that is defined as its primary key", pot sa existe 2 chei dintre care numai una sa fie definita ca primary key ?! )

As vrea ca valoarea pt. acest camp sa se genereze automat cand se introduce o noua inregistrare . Este posibil, ceva de genul Identity din SQL Server ?

2. Cineva mi-a sugerat functia 'GUID_CREATE' care este se pare exact ce am nevoie. Am testat-o si am cateva nelamuriri

CALL FUNCTION 'GUID_CREATE'
IMPORTING
* EV_GUID_16 =
* EV_GUID_22 =
EV_GUID_32 =

EV_GUID_16 = EV_GUID_32 !?! desi EV_GUID_16 este de tip GUID_16 care are lengh=16 dar output length=32 (de fapt domeniul SYSUUID). Ce inseamna de fapt acest output length ?

Multumesc,
Mihai


Sus
 Profil  
Răspuns cu citat  
 Subiectul mesajului:
MesajScris: Mar, 09-Dec-2003 16:32 
Neconectat
Site Admin

Membru din: Lun, 19-Mai-2003 12:03
Mesaje: 324
Locaţie: Bucuresti
Multe intrebari ...

Citat:
Cum pot sa creez un camp de tip GUID [...] ?
Pur si simplu are data element de tip GUID_16.

Citat:
cand se selecteaza flag Key pt. un camp inseamna ca se defineste cheia primara, nu ?
Da, corect.

Referitor la primary key, este vorba de definitia clasica din teoria bazelor de date relationale: cheia primara trebuie sa identifice o linie din tabela (sau tupla).

Citat:
Este posibil, ceva de genul Identity din SQL Server ?
Nu.

Referitor la GUID_CREATE: functia intoarce un identificator unic de 16 octeti (bytes) (EV_GUID_16).

In momentul in care este afisat un astfel de cod, cum nu se poate afisa intotdeauna un octet pe un caracter, se va afisa codul hexazecimal pe 2 caractere. De exemplu octetul cu valoare 254, va fi afisat ca doua caractere: un F si un E => FE. Asadar un cod hexazecimal de 16 octeti se va afisa pe 32 de caractere.

EV_GUID_32 intoarce acelasi cod dar deja convertit in notatia hexazecimala si va ocupa 32 de octeti.

EV_GUID_22 intoarce acelasi cod dar codat UUENCODE si va ocupa 22 de octeti.


Sus
 Profil  
Răspuns cu citat  
Afişează mesajele de la anteriorul:  Sortează după  
Scrie un subiect nou Răspunde la subiect  [ 2 mesaje ] 

Ora este UTC + 2 [ DST ]


Cine este conectat

Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 5 vizitatori


Nu puteţi scrie subiecte noi în acest forum
Nu puteţi răspunde subiectelor din acest forum
Nu puteţi modifica mesajele dumneavoastră în acest forum
Nu puteţi şterge mesajele dumneavoastră în acest forum
Nu puteţi publica ataşamente în acest forum

Căutare după:
Mergi la:  
cron
POWERED_BY
Translation/Traducere: phpBB România