2009-12-16 3 views
1

Я хочу написать общую хранимую процедуру в oracle. Например, я хочу взять имя таблицы в качестве входных данных, а затем сделать maipulations на нем. Я хочу узнать некоторые примеры общих кодов и основные принципы написания общих хранимых процедур в oracle. Может ли любой фрагмент кода провидеть/ссылки на веб-сайты или другие материалы для этого?общие хранимые процедуры в oracle

ответ

5

Generic = динамический SQL, либо «Native Dynamic SQL» (Execute Immediate), либо пакет DBMS_SQL. http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_dynamic_sql.htm#i1006546

Обычно инструкции SQL анализируются при компиляции процедуры, однако это невозможно, если имя таблицы неизвестно - таблица, разумеется, даже не существует во время компиляции.

Здесь приведены ссылки на документацию по этой теме с примерами.

http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/dynamic.htm#LNPLS011

http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_dynamic_sql.htm#ADFNS008

Слово предостережения - не использовать динамический SQL, если вы можете использовать статический SQL. Гибкость предоставляется по цене.