gpt4 book ai didi

javascript - 使用 JavaScript 在 Oracle 中执行 "DESC TABLE"命令?

转载 作者:行者123 更新时间:2023-11-30 07:24:09 24 4
gpt4 key购买 nike

我需要使用 JavaScript 查找许多 Oracle View 的列信息。我试过的是:

var conObj = new ActiveXObject('ADODB.Connection');     
conObj.Open(conString);
sql = "DESC MyView";
rs1 = new ActiveXObject("ADODB.Recordset");

var commd = new ActiveXObject('ADODB.Command');

commd.ActiveConnection = conObj; //

commd.CommandText = sql;

commd.CommandType = 1;

rs1 = commd.Execute();

我得到的是关于sql 语句的错误。我知道 SQL 在 SQL Developer 中有效。

我不能使用替代的 SELECT 查询,因为它返回一个空的行集——当我需要运行查询时, View 没有被填充。只有 DESC 返回值。

有什么想法吗?

最佳答案

DESC 是一个 SQL*Plus 命令。所以,您不能通过 JDBC/ODBC 使用它。替代方案如下所示。

select RPAD(COLUMN_NAME,30)||' '||DATA_TYPE||'('||DATA_LENGTH||')' as descr
FROM all_tab_cols
WHERE TABLE_NAME = UPPER('YOUR_TABLE') and owner=UPPER('SCHEMA_NAME');

Oracle's Reference

all_tab_cols 是一个包含表/ View 元数据的数据字典表( View )。

示例:

SQL> create view MyView as select * from dual where 1=2;

View created.

SQL> select RPAD(COLUMN_NAME,30)||' '||DATA_TYPE||'('||DATA_LENGTH||')' as descr
2 FROM all_tab_cols
3 WHERE TABLE_NAME ='MYVIEW' and owner='MYSCHEMA';


DESCR
------------------------------------------------
DUMMY VARCHAR2(1)

数据和 DESC

SQL> select * from myview;

no rows selected

SQL> desc myview;

Name Null? Type
-----------------------------
DUMMY VARCHAR2(1)

关于javascript - 使用 JavaScript 在 Oracle 中执行 "DESC TABLE"命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24393191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com