call dbms_stats.gather_table_stats(null, '"EMP"');
call dbms_stats.gather_table_stats(null, '"Emp"');
call dbms_stats.gather_table_stats(null, '"emp"');
begin
for x in (select table_name from user_tables)
loop
begin
dbms_stats.gather_table_stats(null, '"' || x.table_name || '"');
end;
end loop;
end;
/
Is it so hard to handle strings as strings and not numerics? So why the dbms_stats.gather_table_stats, I guess, does not encapsulate input parameter with double quotes inside itself? Is it not a bug of such procedure? Because the above code is not ideal, but usable. So the quick win scripts of devs and admins should limit the power of Oracle?
It is the similar devs work like: a) quick win CSV parsers with "choose delimiters char, which will never be inside Your data" (yes, SQL*Loader too), or b) "we will never store other than our national alphabet, so why Unicode", or c) "there will not be [a-zA-Z0-9/]+ in UNC"...
Yes, I want to be a psychopatic killer knowing the address of such devs and admins in such cases ;-)
"What is not forbidden, is allowed." What about the reverse statement in real life, would You enjoy it? So why not in IT?
January 07, 2016 - 12:12 pm UTC
"What is not forbidden, is allowed."
There's no law (where I live) that says you cannot swim in crocodile-infested waters. But I probably wouldn't do it because
i) very few other people seem to be doing it
ii) something might break (aka me)
:-)