Ruseni tabulek na Oracle bez chyby

Pavel Stehule stehule na kix.fsv.cvut.cz
Čtvrtek Duben 17 07:51:04 CEST 2003


Diky za rady :->, nize zminene principy jsou mi zname, proste jen, pro tu
prkotinu co delam, jsem si chtel usetrit praci. Bohuzel SQL jeste neumi
vyjimky, tj. zrus tabulku, a jestli je chyba, ze tabulka neexistuje, tak
pokracuj dal. Pravdepodobne se to necha vyresit na urovni ODBC za
predpokladu, ze obe databaze mi budou hlasit stejnou chybu.

Pavel

In article <3E9D7057.73522430 na pikebo.cz>, Jan Serak wrote:
> Honza Pazdziora wrote:
>> 
>> On Wed, Apr 16, 2003 at 09:07:52AM +0000, Pavel Stehule wrote:
>> >
>> > Potrebuji zrusit tabulku, tak aby v pripade, ze tabulka neexistuje mi to
>> > nehlasilo chybu. A potreboval bych to jako SQL prikaz, rad bych se vyhnul
>                                                ^^^^^^^^^^
>> > ulozenym proceduram (v mssql je to jednoduche, protoze je tam if rozsireni
>> > jazyka). Tedy analogii v mssql
>> Muzete udelat drop a obalit ho osetrenim vyjimky, neco jako
>> 
>>         begin
>>           execute immediate 'drop table jmeno_tabulky';
>>         exception when others then
>>           null;
>>         end;
> 
> Prusvih je, ze to uz je PL/SQL. Tam lze principialne resit cokoli
> potencialne
> nekonecnym mnozstvim alternativ. Ale neni to uz proste SQL.
> 
> Mozna bychom meli panu Stehulemu doporucit, aby se, kdyz uz si vytknul
> za cil
> napsat aplikaci, ktere je uplne fuk, zda jede proti M$ SQL nebo Oraclu,
> aby
> se co nejvice drzel SQL standardu a nespolehal se na ruzne extenze,
> ktere
> jsou jednak prudce rozdilne a jednak by dopredu pocital, ze napr. drop
> tabulky
> nezvladne udelat na jedno volani databaze, ale na dvoukrokove (SELECT a
> pripadny
> DROP), nebo aby pouzil nejake unifikovane rozhrani typu JDBC, DBI atd.
> 
> 						Jan Serak


Další informace o konferenci Test