在使用OCI PHP返回“DESC包”
题
嗨,我从PHP OCI8使用直接试图获得在Oracle软件包信息:
$sql = 'DESC my_package'; $stmt = oci_parse($conn, $sql); oci_execute($stmt);
此返回:
Warning: oci_execute() [function.oci-execute]: ORA-00900: invalid SQL statement in /oci8_test.php on line 16
我知道命令作品如我在sqlplus尝试过。
有谁知道如何做到这一点。
THX
解决方案 2
THX的答复,我想我已经找到了我的答案。
因此,对于任何人谁是有兴趣的,因为文森特说,我想使它工作,你必须创建自己的“降序”。 甲骨文观采用的是“user_arguments”,你得到的功能/程序的名称,参数名称和类型,参数的位置,等等...
Select * from user_arguments where package_name = 'my_package'
其他提示
DESC是一个SQL Plus命令。
我已经从甲骨文走了几年了,但看看数据字典。例如,对于表,你可以做以下。一定有什么东西对包为好。 DESC MY_TABLE
等同于
SELECT
column_name "Name",
nullable "Null?",
concat(concat(concat(data_type,'('),data_length),')') "Type"
FROM user_tab_columns
WHERE table_name='TABLE_NAME_TO_DESCRIBE';
DESC
是SQL*Plus
命令,它不会SQL*Plus
的锻炼。您可以通过任何工具查询数据dictionnary编写自己的DESC
:
SQL> SELECT column_name, data_type, data_length,
2 data_precision, data_scale, nullable
3 FROM all_tab_columns
4 WHERE table_name = 'T';
COLUMN_NAME DATA_TYPE DATA_LENGTH DATA_PRECISION DATA_SCALE NULLABLE
------------ ---------- ----------- -------------- ---------- --------
COLUMN1 CHAR 6 Y
COLUMN2 CHAR 6 Y
不隶属于 StackOverflow