Star

Ciąg danych używany na potrzeby reprezentacji zestawu wszystkich wartości pola w bazie danych można ustawić przy użyciu instrukcji star. Wpływa on na następne instrukcje LOAD i SELECT.

Syntax:  

Star is[ string ]

Arguments:  

Argument Opis
string

Dowolny tekst. Należy pamiętać, że jeśli ciąg znaków zawiera spacje, wówczas musi zostać ujęty w cudzysłowy.

Jeśli żadna opcja nie zostanie wybrana, przyjmuje się wartość star is;, to znaczy, że symbol gwiazdki nie jest dostępny, chyba że zostało to wyraźnie określone. Ta definicja obowiązuje do momentu podania nowej instrukcji star.

Nie zaleca się stosowania instrukcji Star is w części skryptu zawierającej dane (w sekcji zainicjowanej instrukcją Section Application), jeśli jest używany dostęp do sekcji. Znak gwiazdki jest jednak w pełni obsługiwany w odniesieniu do pól chronionych w części Section Access (dostęp do sekcji) skryptu. W tym przypadku nie ma konieczności używania jawnej instrukcji Star is, ponieważ w dostępie do sekcji jest ona zawsze domniemana.

Ograniczenia

  • Nie można używać znaku gwiazdki z polami kluczy, czyli polami, które tworzą powiązania tabel.
  • Nie można używać znaku gwiazdki z żadnymi polami objętymi instrukcją Unqualify, ponieważ może to mieć wpływ na pola, które tworzą powiązania tabel.
  • Nie można używać znaku gwiazdki z tabelami innymi niż logiczne, na przykład tabelami typu „info-load” lub „mapping-load”.
  • Kiedy znak gwiazdki jest używany w polu kompresującym (polu tworzącym powiązania z danymi) w dostępie do sekcji, reprezentuje on wartości wymienione w tym polu w dostępie do sekcji. Nie reprezentuje natomiast innych wartości, które mogą istnieć w danych, ale nie są wymienione w dostępie do sekcji.
  • Nie można używać znaku gwiazdki z polami objętymi jakąkolwiek formą kompresji danych poza obszarem Section Access (dostęp do sekcji).

Przykład

Poniższy przykład zawiera wyodrębnienie skryptu ładowania danych z dostępem do sekcji.

Star is *;

 

Section Access;

LOAD * INLINE [

ACCESS, USERID, OMIT

ADMIN, ADMIN,

USER, USER1, SALES

USER, USER2, WAREHOUSE

USER, USER3, EMPLOYEES

USER, USER4, SALES

USER, USER4, WAREHOUSE

USER, USER5, *

];

 

Section Application;

LOAD * INLINE [

SALES, WAREHOUSE, EMPLOYEES, ORDERS

1, 2, 3, 4

];

 

Obowiązują następujące ustalenia:

  • Znak Star to *.
  • Użytkownik USER1 nie widzi pola SALES.
  • Użytkownik USER2 nie widzi pola WAREHOUSE .
  • Użytkownik USER3 nie widzi pola EMPLOYEES.
  • Użytkownik USER4 jest dodawany dwukrotnie do rozwiązania, aby OMINĄĆ dla pola dotyczące tego użytkownika: SALES i WAREHOUSE.
  • Użytkownik USER5 ma dodaną “*” co oznacza, że wszystkie pola w polu OMIT są niedostępne. Symbol gwiazdki (*) oznacza wszystkie wartości na liście, a nie wszystkie wartości pola. Oznacza to, że użytkownik USER5 nie widzi pól SALES, WAREHOUSE i EMPLOYEES , ale widzi pole ORDERS.