WRITE |
Writepermet de créer un enregistrement dans une table.
Write[ classe ]
Elément | Description | Restrictions |
Abréviation d'une table, par défaut la table par défaut. | La table doit avoir été ouverte par un ordre File. |
# Saisie et écriture d'un enregistrement sur le fichier [TEST]
File TEST [TEST] :# déclaration du fichier TEST
Mask TEST [TEST] :# déclaration du masque TEST
Inpbox Mask [TEST] ... As [INP1] :# déclaration de la boite
Boxact [INP1] :# Affichage de la boite de saisie
Boxinp [INP1]... :# Saisie dans la boite
...
[F] = [M] :# transfert des variables du masque dans celles du fichier
Trbegin [TEST] :# début de la transaction
Write[TEST] :# écriture sur fichier
If [S]fstat :# en cas de problème quelconque
Rollback :# la transaction est annulée
Else
Commit :# sinon elle est validée
Read [TEST]CODCLE = [F:TEST]CODCLE :# on se positionne dessus
Endif
# Ecriture d'un enregistrement sur le fichier par défaut
Write
Writepermet d'écrire un nouvel enregistrement dans une table.
La mise à jour des index est faite automatiquement.
Writemet à jour la variable fstat pour indiquer comment s'est déroulée l'écriture.
fstat | Code | Ecr. | Explication |
0 | Oui | L'écriture a eu lieu correctement. | |
1 | ERLOCK | Non | Table verrouillée. |
3 | ERDUPCL | Non | Tentative de création d'une clé dupliquée. |
Une instruction Write ne modifie pas l'enregistrement courant. C'est à dire qu'en règle générale il faut faire une lecture si on veut se positionner sur le nouvel enregistrement.
L'écriture d'un nouvel enregistrement doit être fait à l'intérieur d'une transaction.
En attendant la fin de la transaction, les créations ne seront pas visibles par les autres utilisateurs, sous Oracle, alors qu'elles le seront sous Sql-serveur. En effet, Adonix utilise pour Sql-serveur la technique du "dirty read"( ou read uncommited) c'est à dire que les écritures non encore commitées sont vues par les utilisateurs.
En fait, SQL-serveur offre la possibilité de faire des read "commited", mais dans ce cas, la lecture bloque sur les enregistrements modifiés ( contrairement à Oracle qui va lire dans les rollbacks-segments) ce qui risque d'engendrer des ralentissements tout particulièrement sur les listes gauches.
Il n'est pas possible d'utiliser une abréviation de lien pour écrire unenregistrement.
Le fait de verrouiller un fichier par Lock [abrv] empêche d'autresutilisateurs de créer de nouveaux enregistrements par
ERCLAS( 7) | Laclasse fichier n'existe pas (fichier non ouvert). |
ERACCE(27) | Tentatived'écriture sur un fichier avec une 'abréviation de lien'. |
ERMDISK(44) | Plusde place sur le disque. |
ERULIM(65) | Dépassementde la taille maximum (ulimit). |
ERORA(75) | ErreurOracle. |
Adonix X3(r) L4G |