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?

Mengapa saya mendapat ralat 'ERROR: function ... does not exist' dan bagaimana saya boleh membetulkan jenis ketidakpadanan dalam panggilan fungsi saya?

DDD
DDDasal
2025-01-05 14:25:40577semak imbas

Why am I getting the

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn