Réserve un objet (et tous ses enfants) pour une mise à jour exclusive par la session client actuelle. Empêche un objet (et tous ses parents) d'être extrait de manière exclusive par une autre session si checkOutType=Shared.
| Paramètre | Description |
|---|---|
| checkoutParent | Indique s'il faut extraire l'objet parent si l'objet spécifié n'existe pas. La valeur par défaut est FALSE. |
| checkOutType | Spécifie le type d'extraction. Par défaut, une extraction est exclusive, donc seule la session actuelle peut mettre à jour l'objet spécifié (et ses enfants). Si vous spécifiez 'SHARED', l'extraction ne verrouille pas l'objet ; elle empêche simplement d'autres sessions de verrouiller l'objet (et ses parents). |
| ObjectSelector | Spécifie le type d'objet que vous souhaitez extraire. La valeur que vous spécifiez pour le paramètre objType détermine les autres paramètres qui s'appliquent. |
| action | Spécifie le nom de l'action (utilisé avec objType='ACTION'). |
| actionSet | Spécifie le nom du jeu d'actions (utilisé avec objType='ACTION' ou 'ACTIONSET'). |
| caslib | Spécifie le nom de la caslib (utilisé avec objType='CASLIB', 'TABLE' ou 'COLUMN'). |
| column | Spécifie le nom de la colonne (utilisé avec objType='COLUMN'). |
| table | Spécifie le nom de la table (utilisé avec objType='TABLE' ou 'COLUMN'). |
Ce bloc de données crée une table simple 'myTable' dans la caslib 'casuser' pour démontrer le verrouillage d'objet. Cette table sera utilisée dans les exemples suivants.
| 1 | |
| 2 | DATA casuser.myTable; |
| 3 | x=1; |
| 4 | y=2; |
| 5 | OUTPUT; |
| 6 | x=3; |
| 7 | y=4; |
| 8 | OUTPUT; |
| 9 | |
| 10 | RUN; |
| 11 |
Cet exemple montre comment verrouiller de manière exclusive la table 'myTable' dans la caslib 'casuser'. Cela empêche toute autre session de la modifier ou d'obtenir un verrou dessus.
| 1 | |
| 2 | PROC CAS; |
| 3 | ACCESSCONTROL.checkOutObject / objectSelector={objType="TABLE", caslib="casuser", TABLE="myTable"}; |
| 4 | |
| 5 | RUN; |
| 6 |
Cet exemple montre comment appliquer un verrouillage partagé sur la caslib 'casuser'. Cela empêche d'autres sessions de la verrouiller de manière exclusive, mais autorise les lectures et d'autres verrous partagés.
| 1 | |
| 2 | PROC CAS; |
| 3 | ACCESSCONTROL.checkOutObject / checkOutType="SHARED" objectSelector={objType="CASLIB", caslib="casuser"}; |
| 4 | |
| 5 | RUN; |
| 6 |
Cet exemple tente de verrouiller la colonne 'y' de 'myTable'. L'option `checkoutParent=TRUE` garantit que si la colonne ne peut être verrouillée individuellement (ou n'existe pas), un verrou sera placé sur son parent, la table 'myTable'.
| 1 | |
| 2 | PROC CAS; |
| 3 | ACCESSCONTROL.checkOutObject / checkoutParent=TRUE objectSelector={objType="COLUMN", caslib="casuser", TABLE="myTable", column="y"}; |
| 4 | |
| 5 | RUN; |
| 6 |