Rumah >pangkalan data >tutorial mysql >Mengapa saya mendapat ralat 'ERROR: function ... does not exist' dan bagaimana saya boleh membetulkan jenis ketidakpadanan dalam panggilan fungsi saya?
Memahami Ralat: "ERROR: fungsi ... tidak wujud dan PETUNJUK: Tiada fungsi yang sepadan dengan nama dan jenis hujah yang diberikan"
Apabila cuba melaksanakan fungsi, adalah penting untuk memastikan bahawa nama fungsi dan jenis argumen sepadan dengan definisi fungsi sebenar. Jika terdapat ketidakpadanan, anda mungkin akan menghadapi ralat "RALAT: fungsi ... tidak wujud dan PETUNJUK: Tiada fungsi yang sepadan dengan nama dan jenis hujah yang diberikan."
Penyelesaian: Memeriksa Jenis Argumen
Dalam senario khusus ini, ralat berkaitan dengan ketidakpadanan jenis untuk parameter "kecil" dalam fungsi anda takrifan. Walau bagaimanapun, dalam panggilan fungsi, anda menggunakan huruf angka yang dianggap sebagai jenis "integer."
Memahami Huruf Numerik
Satu rentetan literal (seperti '123') pada mulanya tidak ditaip dan kekal sedemikian sehingga nilainya ditetapkan atau dihantar secara eksplisit. Walau bagaimanapun, literal angka (seperti 123) ditaip segera sebagai "integer" jika ia muat dalam julat yang dibenarkan dan sebagai "bigint" atau "numerik" jika ia melebihi julat tersebut.
Menyelesaikan Ketakpadanan
Untuk menyelesaikan isu ini, anda mempunyai dua pilihan:
Tambah Hantaran Eksplisit: Tambah hantaran eksplisit untuk parameter "kecil" dalam panggilan fungsi:
SELECT FnUpdateSalegtab09 (4, 1, 0, 12, 1, '9'::varchar,'2014-07-15'::timestamp, 4048, '9'::varchar, 4048, 'MYCUSTOMER'::varchar, 12::money, 0, 0::money, 0.32, 185, 0, '2014-07-15 11:24:12 AM'::timestamp, 0, 0::money, 0, 0::money, 0::money, 0, 0::money, 0, 0::money, 0, 0::money, ''::varchar, 0::money, False, ''::varchar, '2014-07-15'::timestamp, ''::varchar, ''::varchar, False, ''::varchar, ''::varchar, 1, ''::varchar, 1,0,1,0,42)
Lulus Huruf Tidak Ditaip: Pas dipetik literal (tidak ditaip) untuk parameter "kecil":
SELECT FnUpdateSalegtab09 (4, 1, 0, 12, 1, '9'::varchar,'2014-07-15'::timestamp, 4048, '9'::varchar, 4048, 'MYCUSTOMER'::varchar, 12::money, 0, 0::money, 0.32, 185, 0, '2014-07-15 11:24:12 AM'::timestamp, 0, 0::money, 0, 0::money, 0::money, 0, 0::money, 0, 0::money, 0, 0::money, ''::varchar, 0::money, False, ''::varchar, '2014-07-15'::timestamp, ''::varchar, ''::varchar, False, ''::varchar, ''::varchar, 1, ''::varchar, 1, '0', '1', '0', 42)
Atas ialah kandungan terperinci Mengapa saya mendapat ralat 'ERROR: function ... does not exist' dan bagaimana saya boleh membetulkan jenis ketidakpadanan dalam panggilan fungsi saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!