Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ओरेकल फ़ंक्शन को कॉल करें जो PHP से सम्मिलित/अद्यतन करता है?

एक फ़ंक्शन जो DML करता है उसे SELECT . में नहीं बुलाया जा सकता है कॉलिंग भाषा की परवाह किए बिना बयान।

यदि आप डीएमएल करना चाहते हैं और एक मूल्य वापस करना चाहते हैं, तो यह एक OUT के साथ एक संग्रहीत कार्यविधि बनाने के लिए अधिक समझ में आता है फ़ंक्शन का उपयोग करने के बजाय पैरामीटर। तो यह बहुत अधिक अर्थपूर्ण होगा

CREATE OR REPLACE PROCEDURE proc_name_return( p_1    IN NUMBER,
                                              p_2    IN NUMBER,
                                              p_ret OUT VARCHAR2 )
AS
BEGIN
  p_ret := pkg_tools.replace.site( p_1, p_2 );
END;

और फिर उस संग्रहीत कार्यविधि को PHP से कॉल करें

$sql = 'BEGIN proc_name_return( :p_1, :p_2, :p_ret ); END;';

यदि आप ऐसा नहीं करना चाहते हैं, तो मेरा अनुमान है कि आप ऐसा कुछ भी कर सकते हैं (अंडरग्राउंड PHP और Oracle मैन्युअल )

<?php
$c = oci_connect('hr', 'hrpwd', 'localhost/XE');
$s = oci_parse($c, "begin :ret :=pkg_tools.replace_site(1121,3343); end;");
oci_bind_by_name($s, ':ret', $r, 200);
oci_execute($s);
echo "Result is: ".$r;
?>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL - Oracle में आज की तारीख से दो महीने

  2. विंडोज़ पर पीएचपी पीडीओ स्थापना (xampp)

  3. ऑरेकल में अनपिवट ऑन व्यू काम नहीं कर रहा है

  4. मामला .. जब Oracle SQL में अभिव्यक्ति

  5. SSRS रिपोर्ट निर्माता 3.0 से Oracle संग्रहीत कार्यविधि को कॉल करने में असमर्थ