Mam procedurę składowaną napisaną pod Oracle 11g, a jednym z moich parametrów out jest ciąg (tj. typu VARCHAR).

Używam tego parametru do zwracania połączonej listy liczb oddzielonych ;. Ta lista może mieć dowolny rozmiar i nie znam z góry rozmiaru.

Moje pytanie brzmi, czy VARCHAR wystarczy, czy też ma limit rozmiaru (co oczywiście przysporzy mi kłopotów). Jeśli nie, czego powinienem użyć w tym przypadku?

Dzięki

2
giorashc 30 sierpień 2012, 14:33

2 odpowiedzi

Najlepsza odpowiedź

Dlaczego nie użyjesz odpowiedniego typu danych, takiego jak tablica liczb, zamiast próbować zakodować złożoną strukturę w ciągu znaków?

6
jarnbjo 30 sierpień 2012, 14:39

VARCHAR2 w PL/SQL może zawierać 32 767 znaków. (Zauważ, że różni się to od kolumny VARCHAR2 w bazie danych, która ma maksymalną długość 4000 znaków)

Ponadto mówisz powyżej, że używasz VARCHAR. Oracle zaleca używanie VARCHAR2, a nie VARCHAR.

7
cagcowboy 30 sierpień 2012, 14:34