Как уже отмечалось, не существует функции для создания случайной строки, однако можно генерировать случайные числа и затем преобразовывать их в символы.Для создания случайных чисел вы можете создать оболочку UDR для функции C, например, random()
, или зарегистрировать блок данных excompat и использовать функцию dbms_random_random()
.Вот пример пользовательской функции, которая использует функцию dbs_random_random()
для генерации строки буквенно-цифровых символов ASCII:
create function random_string()
returning varchar(10)
define s varchar(10);
define i, n int;
let s = "";
for i = 1 to 10
let n = mod(abs(dbms_random_random()), 62);
if (n < 10)
then
let n = n + 48;
elif (n < 36)
then
let n = n + 55;
else
let n = n + 61;
end if
let s = s || chr(n);
end for
return s;
end function;
Затем эту функцию можно вызвать из триггера вставки для заполнения столбца empcodeвашего стола.