Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle:Pilih yang berbeda tidak berfungsi ketika kursor di dalam kursor (menggunakan ekspresi kursor)

saya pikir Anda membutuhkan output yang berbeda seperti di bawah ini

<?xml version="1.0"?>
<ROWSET>
 <ROW>
  <CONTACTS>
   <CONTACTS_ROW>
    <CONTACT_NAME>ALBERT EINSTEIN</CONTACT_NAME>
    <INVOICE_NUMBER>123456</INVOICE_NUMBER>
    <INVOICE_AMOUNT>10000</INVOICE_AMOUNT>
    <INVOICE_CURRENCY>EUR</INVOICE_CURRENCY>
   </CONTACTS_ROW>
  </CONTACTS>
 </ROW>
</ROWSET>

untuk ini tidak diperlukan kursor kedua. Anda dapat mencapai seperti di bawah ini

select dbms_xmlgen.getxml('
select 
cursor (
  select 
    distinct 
    ''ALBERT EINSTEIN'' CONTACT_NAME 
    , 123456 INVOICE_NUMBER, 10000 INVOICE_AMOUNT, ''EUR'' INVOICE_CURRENCY 
  from 
  ALL_VIEWS
  where view_name IN ( ''ALL_INDEXES'', ''ALL_TABLES'')
  ) AS CONTACTS
  from dual 
 ') from dual
;

sejak distint berbeda pada kesempatan ini. maka tidak diperlukan subkursor. di sini distint akan menghapus semua record dalam subquery itu sendiri.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Muat data dari *.xlsx atau *.xls ke tabel Oracle dari akun Pengguna Oracle Apex 4.0.2

  2. Apakah literal date'[yyyy-mm-dd]' Oracle selalu menggunakan pola yyyy-mm-dd?

  3. Berapa panjang yang bisa dimiliki nama antarmuka jaringan?

  4. Bagaimana cara menghitung minggu dalam setahun di Oracle menggunakan hari pertama non-standar dalam seminggu?

  5. Apa metode terbaik untuk selalu mendapatkan 2 tempat desimal di Oracle?