oracle dbms_sql.describe_columns,PL/SQL Challenge 每日一题:2017-3-6 DBMS_SQL.DESCRIBE_COLUMNS
(原發(fā)表于 2011-6-20)
最先答對且答案未經(jīng)編輯的puber將獲得紀念章一枚(答案不可編輯但可發(fā)新貼補充或糾正),其他會員如果提供有價值的分析、討論也可獲得紀念章一枚。
每兩周的優(yōu)勝者可獲得itpub獎勵的技術圖書一本。
以往舊題索引:
http://www.itpub.net/forum.php?m ... eid&typeid=1808
原始出處:
http://www.plsqlchallenge.com/
作者:Steven Feuerstein
運行環(huán)境:SQLPLUS, SERVEROUTPUT已打開
注:本題給出答案時候要求給予簡要說明才能得到獎品
我創(chuàng)建了下列的表:
CREATE TABLE plch_parts
(
partnum? ? INTEGER PRIMARY KEY
, partname? ?VARCHAR2 (100) UNIQUE
)
/
哪些選項實現(xiàn)了一個名為plch_show_columns的過程,使得下列代碼塊執(zhí)行之后:
BEGIN
plch_show_columns ('select * from plch_parts');
END;
/
屏幕上會出現(xiàn)這兩行:
PARTNUM
PARTNAME
(A)
CREATE OR REPLACE PROCEDURE plch_show_columns (query_in IN VARCHAR2)
IS
cur? ?? ?? ?PLS_INTEGER := DBMS_SQL.open_cursor;
l_count? ???PLS_INTEGER;
l_columns? ?DBMS_SQL.desc_tab;
BEGIN
DBMS_SQL.parse (cur, query_in, DBMS_SQL.native);
DBMS_SQL.describe_columns (cur, l_count, l_columns);
FOR indx IN 1 .. l_columns.COUNT
LOOP
DBMS_OUTPUT.put_line (l_columns (indx).col_name);
END LOOP;
END;
/
(B)
CREATE OR REPLACE PROCEDURE plch_show_columns (query_in IN VARCHAR2)
IS
l_count? ???PLS_INTEGER;
l_columns? ?DBMS_SQL.desc_tab;
BEGIN
DBMS_SQL.describe_columns (query_in, l_count, l_columns);
FOR indx IN 1 .. l_columns.COUNT
LOOP
DBMS_OUTPUT.put_line (l_columns (indx).col_name);
END LOOP;
END;
/
(C)
CREATE OR REPLACE PROCEDURE plch_show_columns (query_in IN VARCHAR2)
IS
TYPE names_t IS TABLE OF VARCHAR2 (30)
INDEX BY PLS_INTEGER;
l_columns? ?names_t;
BEGIN
EXECUTE IMMEDIATE query_in COLUMN_NAMES INTO l_columns;
FOR indx IN 1 .. l_columns.COUNT
LOOP
DBMS_OUTPUT.put_line (l_columns (indx).col_name);
END LOOP;
END;
/
(D)
CREATE OR REPLACE PROCEDURE plch_show_columns (query_in IN VARCHAR2)
IS
l_table_name user_tab_columns.table_name%type;
BEGIN
l_table_name := DBMS_SQL.get_table_from_query (query_in);
FOR rec IN (SELECT column_name
FROM user_tab_columns
WHERE table_name = l_table_name)
LOOP
DBMS_OUTPUT.put_line (rec.column_name);
END LOOP;
END;
/
總結
以上是生活随笔為你收集整理的oracle dbms_sql.describe_columns,PL/SQL Challenge 每日一题:2017-3-6 DBMS_SQL.DESCRIBE_COLUMNS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle函数中bitand,Orac
- 下一篇: php滚动公告源码,JavaScript