使用 PowerShell - sqlplus 命令以 table 格式显示数据库值

Display DB value in table format using PowerShell - sqlplus command

我需要编写查询以使用 PowerShell 脚本(sqlplus 命令)以表格格式显示数据库中的多行。

数据库:Oracle 12c

我写了下面的查询,但它 returns 单行值。我怎样才能得到所有的数据?我不明白如何实现 for 循环来访问所有行。

预期输出:

脚本:

$username='root'
$password='password'
$tnsalias='localhost:1521/xe'

$sql1=@"
  set echo off;
  set pagesize 0
  set head off;
  set feedback off;
  set pause off;
  set verify off;
  set trimspool on;
  set linesize 300;
  set colsep ,;
  set termout off;
 SELECT * FROM employees  where dept_id =30;

"@
$output1 = $sql1 |sqlplus -silent $username/$password@$tnsalias 
$output2 =$output1.Split(",") 
 
               $eid=$output2[0] 
              $first_nm=$output2[1]
              $middl_nm=$output2[2]
              $last_nm=$output2[3]
              $sal= $output2[4]

               $HtmlTable3 += "<tr style='font-size:13px;background-color:#FFFFFF'>
                              <td>"+ $eid +"</td>
                              <td>" + $first_nm + "</td>
                              <td>"+ $middl_nm +"</td>
                              <td>"+ $last_nm+"</td>
                              <td>"+ $sal +"</td>
                              </tr> "
        
           $HtmlTable3 +="</table> </div>"
           write-host $HtmlTable3

如何将 HTML 标签转移到 SQL - 比如:

$username='scott'
$password='tiger'
$tnsalias='foo:12102/DB1212'

$sql1=@"
  set echo off;
  set pagesize 0
  set head off;
  set feedback off;
  set pause off;
  set verify off;
  set trimspool on;
  set linesize 300;
  set colsep ,;
  set termout off;
 SELECT   
    '<tr style="font-size:13px;background-color:#FFFFFF">'||
    '<td>'||empno||'</td>'
  ||'<td>'||ename||'</td>' 
  ||'<td>'||job||'</td>' 
  ||'<td>'||mgr||'</td>' 
  ||'<td>'||hiredate||'</td>' 
  ||'<td>'||sal||'</td>' 
  ||'<td>'||comm||'</td>' 
  ||'<td>'||deptno||'</td>' 
  ||'</tr>'
  FROM EMP where DEPTNO=30;

"@
$output1 = $sql1 |sqlplus -silent $username/$password@$tnsalias 
$HtmlTable3 += "<table>"  
$HtmlTable3 += $output1
$HtmlTable3 += "</table>"
write-host $HtmlTable3

回归

7499    ALLEN   SALESMAN    7698    20-FEB-81   1600    300     30
7521    WARD    SALESMAN    7698    22-FEB-81   1250    500     30
7654    MARTIN  SALESMAN    7698    28-SEP-81   1250    1400    30
7698    BLAKE   MANAGER     7839    01-MAY-81   2850            30
7844    TURNER  SALESMAN    7698    08-SEP-81   1500    0       30
7900    JAMES   CLERK       7698    03-DEC-81   950             30