帮忙分析一下下面这段sql语句

楚兴 发布于 2013/08/23 19:38
阅读 141
收藏 0
$sql = '
select 
\'{
    "srctable":{
        "schema":"\' || owner || \'",
        "tablename":"\' || table_name || \'"
    },
    "desttable":{
        "schema":"",
        "tablename":"\' || table_name || \'"    
    }
}\',
table_name
from 
    all_tables 
where 
    owner=\'' . $schemaname . '\'
';


执行这个语句如何实现向sqlplus输出json格式那部分语句的,这是什么用法?
加载中
0
楚兴
楚兴
\'{ 
    "srctable":{ 
        "schema":"\' || owner || \'", 
        "tablename":"\' || table_name || \'" 

    }, 

    "desttable":{ 
        "schema":"", 
        "tablename":"\' || table_name || \'"     
    } 

}\', 

执行的时候,这一部分语句在sqlplus里面输出了,查询结果写入到输出文件了

0
铂金胖子
铂金胖子
你这怎么执行的?
楚兴
楚兴
这是在php里面执行的,$schemaname是一个变量
0
CeeFee
CeeFee

从表 all_tables 中查询

第一个字段 是 自定义 的 JSON 格式

第二个字段是 table_name

条件是 字段 owener 为 传入参数 $schemaname

楚兴
楚兴
不是,我当然是吧那个$schemaname替换成用户名才去sqlplus执行的
CeeFee
CeeFee
回复 @楚欣 : $schemaname 是 PHP 里面的哇,你放别的地方当然不行!
楚兴
楚兴
我把这一段sql语句复制到sqlplus的时候发现并不能执行。要在php中才能执行。执行的时候,自定义的json格式那一部分会被输出,而且json里面的owner和table_name会被查询结果替换
返回顶部
顶部