我试图在不使用DESCRIBE
命令的情况下描述一个表,但我想将查询与替换变量结合起来。假设我有下表:
--DROP TABLE customers CASCADE CONSTRAINTS PURGE;
CREATE TABLE customers
( customer_id number(10) NOT NULL,
customer_name varchar2(50) NOT NULL,
city varchar2(50)
);
在此处和此处的帖子之后,但添加了一个替换变量,我有以下内容:
ACCEPT myv CHAR PROMPT 'Enter a table name: '
SELECT
column_name AS "Name",
nullable AS "Null?",
concat(concat(concat(data_type,'('),data_length),')') AS "Type"
FROM user_tab_columns
WHERE table_name = '&myv';
这将返回一个带有适当列名的空白表。我在输入提示中输入的表名是 CUSTOMERS 还是customers 都没有关系。但是,desc customers
产生:
Name Null Type
------------- -------- ------------
CUSTOMER_ID NOT NULL NUMBER(10)
CUSTOMER_NAME NOT NULL VARCHAR2(50)
CITY VARCHAR2(50)
知道如何让替换变量在这里工作吗?谢谢。