oracle - "DESC TABLE_NAME"Oracle 中的命令不适用于 pl/sql block

标签 oracle plsql oracle11g

我正在使用 Oracle 11g R2,并且我一直在尝试执行下面给出的 pl/sql 过程:-

SET SERVEROUTPUT ON
DECLARE
TABLENAME VARCHAR2(100) := 'TABLE_NAME';
BEGIN
DESC TABLENAME;  
END;
/

或者

    SET SERVEROUTPUT ON
    DECLARE
    TABLENAME VARCHAR2(100) := 'TABLE_NAME';
    BEGIN
    EXECUTE IMMEDIATE 'DESC TABLENAME';  
    END;
    /

我尝试了一切,但不断收到错误。 请帮我。非常感谢

最佳答案

如果您具有对 user_tab_columns View 的读取权限,那么这将返回相同的结果。刚刚验证。

          SELECT 
          column_name "Name", 
          nullable "Null?",
          concat(concat(concat(data_type,'('),data_length),')') "Type"
          FROM user_tab_columns
          WHERE table_name='TABLE_NAME'

来源:http://ss64.com/ora/desc.html

关于oracle - "DESC TABLE_NAME"Oracle 中的命令不适用于 pl/sql block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32863376/

相关文章:

java - SQL 错误 17268 : Year out of range (Java/Spring)

sql - Oracle - Oracle 如何管理特定于事务的 DML 语句

oracle11g - Oracle VARCHAR2使用最大长度

sql - 如何为这个特定标签触发选择查询 <m :Number> in XMLTYPE

oracle - sql 加载器日志文件结果

sql - 使用 PL/SQL 将值插入全局临时表

xml - PL SQL XMLDOM 改变行结尾

java - 在java中调用pl/sql函数?

sql - Oracle "ORA-01008: not all variables bound"错误带参数

javascript - Oracle ApEx复选框可在选中/未选中时操纵其他值