|
функцию очистки таблицы с входным параметром в виде имени таблицы
|
|||
---|---|---|---|
#18+
как написать функцию очистки таблицы с входным параметром в виде имени таблицы если я задаю входной параметр как:- имя_функции(имя_таблицы in varchar2) return boolean is delete from имя_таблицы; commit; Oracle ругается и как я понял что для имени таблицы ему не подходит стринг а нужна подстановка а как сделать я не знаю ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2001, 10:10 |
|
функцию очистки таблицы с входным параметром в виде имени таблицы
|
|||
---|---|---|---|
#18+
синтаксис: delete <имя.таблицы>; ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2001, 12:39 |
|
функцию очистки таблицы с входным параметром в виде имени таблицы
|
|||
---|---|---|---|
#18+
делай так PROCEDURE Clear_Table( pTableName varchar2 ) is cur integer; stm varchar2(30); begin commit; cur := DBMS_SQL.open_cursor; begin stm := 'delete from '||pTableName; DBMS_SQL.Parse(cur, stm, DBMS_SQL.NATIVE); rows := DBMS_SQL.Execute(cur); exception when others then raise_application_error(-20002,'Такой таблицы нет или у вас нет привилегий делать удаление!'); rollback; end; DBMS_SQL.close_cursor(cur); commit; end; или если оракл версии 8.1.5 то можно execute immediate 'delete from Tablename'; но у меня оракл 8.0.5 так что последнее не проверял. но работать скорее всего будет в документации так написано ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2001, 13:57 |
|
|
start [/forum/topic.php?fid=52&msg=32008371&tid=1993588]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 118ms |
0 / 0 |