Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何执行两个sqlplus查询并在单行中显示结果_Sql_Oracle_Sqlplus - Fatal编程技术网

如何执行两个sqlplus查询并在单行中显示结果

如何执行两个sqlplus查询并在单行中显示结果,sql,oracle,sqlplus,Sql,Oracle,Sqlplus,我不知道sqlplus。但要在工作中完成一项任务。任务是登录到一个模式并在单行中获取以下信息- 架构名称、数据库名称、数据库链接名称、用户名 我可以通过两行代码获得这些信息。如果有人建议用一种简单的方法在一行中获得两个不同select查询的结果,我将不胜感激 SQL> select * from (select user || ' ' || sys_context('USERENV','DB_NAME') as Instance from dual), (select DB_LINK

我不知道sqlplus。但要在工作中完成一项任务。任务是登录到一个模式并在单行中获取以下信息- 架构名称、数据库名称、数据库链接名称、用户名

我可以通过两行代码获得这些信息。如果有人建议用一种简单的方法在一行中获得两个不同select查询的结果,我将不胜感激

SQL> select * from
 (select user || ' ' || sys_context('USERENV','DB_NAME') as Instance from dual),
 (select DB_LINK  || ' ' || username from user_db_links);

TSTSCRIPT2 ORADEV
MCCODEVTOMCCOSTG_TSTSCRIPT1  TSTSCRIPT1  
下面的工作,但给我两行所需的结果。我要一行的

SQL> select * from
 (select user || ' ' || sys_context('USERENV','DB_NAME') as Instance from dual),
 (select DB_LINK  || ' ' || username from user_db_links);

TSTSCRIPT2 ORADEV
MCCODEVTOMCCOSTG_TSTSCRIPT1  TSTSCRIPT1  

只需指定列的显示格式。在您的情况下,由于有多个值被连接在一起,它将是别名

/* Here character value is 11 characters long "a11"
   If you need it to be longer or shorter simply increase or decrease
   the value of the constant, make it "a20", for instance
*/
SQL> column instance format a11; 
SQL> column res2 format a11;

SQL> select user || ' ' || sys_context('USERENV','DB_NAME') as instance
          , DB_LINK  || ' ' || username                     as res2
       from user_db_links t
结果:

INSTANCE    RES2      
----------- -----------
HR CDB      NK1 HR 

你想解决什么问题?我有两个答案。这解决了我的问题。我试图创建一个脚本,找出所有模式下的所有dblink,然后使用alterdatabaselink命令更改链接密码。每次更改模式密码时,我们都必须更改链接密码。我将使用expect函数编写shell脚本。谢谢。SQL>从user|DB|u links t中选择user |‘|‘| |‘| | | sys|u context‘USERENV’,‘DB|u NAME’作为实例,DB|u LINK |‘| | username作为res2;实例RES2--------------------------------------------------tscript1 MCCODEV MCCODEVTOMCCOSTG_tscript1.SLAC.STANFORD.EDU tscript1 tscript1 MCCODEV MCCODEVTOMCCOSTG_tscript2.SLAC.STANFORD.EDU tscript2