Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Membuat fungsi di phpMyAdmin - Kesalahan:akses ditolak Anda memerlukan hak istimewa super untuk operasi ini

Masalahnya adalah saya tidak memiliki hak istimewa super tetapi jika saya menghapus DEFINER dari kueri, saya tidak memerlukan hak istimewa ini lagi.

Pada MySQL 5.0.3, CREATE PROCEDURE dan CREATE FUNCTION memerlukan hak istimewa CREATE ROUTINE. Mereka mungkin juga memerlukan hak istimewa SUPER, tergantung pada nilai DEFINER, seperti yang dijelaskan nanti di bagian ini. Jika pencatatan log biner diaktifkan, CREATE FUNCTION mungkin memerlukan hak istimewa SUPER, seperti yang dijelaskan di Bagian 18.6, “Pencatatan Biner Program Tersimpan”.

Juga harus mengatur bidang pembatas di bawah kotak teks SQL.

Berikut Query SQL tanpa pernyataan DEFINER:

/*!50003 DROP FUNCTION IF EXISTS `f_calc_gst` */;;
/*!50003 SET SESSION SQL_MODE=""*/;;
/*!50003 CREATE*/ /*!50003 FUNCTION `f_calc_gst`(p_ht decimal(15,3), p_province varchar(2)) RETURNS varchar(255) CHARSET utf8
begin
  declare res varchar(255); 
  declare v_gst decimal(15,3);
  declare v_gst_formula varchar(255);

  select GST, GST_formula
  into v_gst, v_gst_formula
  from taxes_periods
  where NOW() between dt_debut and dt_fin
  and id_province = p_province;

  set v_gst_formula = replace(v_gst_formula, 'HT$', p_ht);
  set v_gst_formula = replace(v_gst_formula, 'GST%', v_gst);

  set res = concat('select round(', v_gst_formula, ',2) "gst"');
  return res;
end */;;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql pilih nilai n max teratas

  2. Hubungkan ke mysql dalam wadah buruh pelabuhan dari Host

  3. Menggunakan Fitur Oracle JDeveloper Tingkat Lanjut untuk Database MySQL

  4. KESALAHAN 1452:Tidak dapat menambah atau memperbarui baris anak:batasan kunci asing gagal

  5. Bagaimana saya bisa tahu kapan tabel MySQL terakhir diperbarui?