Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menggunakan prosedur tersimpan untuk mencipta jadual dalam mysql

Bagaimana untuk menggunakan prosedur tersimpan untuk mencipta jadual dalam mysql

PHPz
PHPzasal
2023-04-17 16:40:271370semak imbas

Sebagai pangkalan data hubungan yang biasa digunakan, MySQL menyediakan fungsi dan sintaks yang kaya, antaranya prosedur tersimpan adalah salah satu fungsi yang sangat praktikal. Prosedur tersimpan lebih mudah dan fleksibel daripada menulis pernyataan SQL secara langsung, dan ia juga boleh meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Artikel ini akan memperkenalkan cara membuat jadual pangkalan data MySQL melalui prosedur tersimpan.

[Pengenalan kepada prosedur tersimpan]

Prosedur tersimpan ialah atur cara boleh laku yang disusun awal dan disimpan dalam pangkalan data Ia boleh dipanggil dan dilaksanakan berbilang kali Tidak seperti fungsi ciptaan pengguna, Prosedur tersimpan tidak mengembalikan hasil tetapi berkomunikasi dengan pemanggil melalui parameter input dan output. Dalam MySQL, prosedur tersimpan terdiri daripada pernyataan SQL dan beberapa pernyataan kawalan aliran Ia biasanya digunakan untuk memproses data atau menyelesaikan beberapa tugas tertentu.

[Pernyataan penciptaan jadual MySQL]

Pernyataan penciptaan jadual MySQL yang biasa adalah seperti berikut:

CREATE TABLE person (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  age INT NOT NULL,
  address VARCHAR(100) NOT NULL
);

Ini ialah pernyataan penciptaan jadual MySQL konvensional, tetapi jika kita perlukan Dalam proses mencipta jadual, menambah beberapa syarat khas untuk memenuhi beberapa keperluan perniagaan boleh dicapai melalui prosedur tersimpan.

[Pernyataan penciptaan jadual prosedur tersimpan]

Mari kita lihat cara mencipta jadual MySQL melalui prosedur tersimpan Kami akan menunjukkannya dengan contoh mudah.

Pertama, kita perlu mencipta prosedur tersimpan, kodnya adalah seperti berikut:

DELIMITER $$
CREATE PROCEDURE create_person_table()
BEGIN
  DECLARE exit handler for sqlexception
  BEGIN
    ROLLBACK;
    SELECT 'Failed!';
  END;
  
  START TRANSACTION;
    CREATE TABLE person (
      id INT AUTO_INCREMENT PRIMARY KEY,
      name VARCHAR(50) NOT NULL,
      age INT NOT NULL,
      address VARCHAR(100) NOT NULL,
      created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
    );
  COMMIT;
  
  SELECT 'Succeed!';
END$$
DELIMITER ;

Dalam prosedur tersimpan di atas, kami menggunakan CREATE PROCEDURE untuk menentukan prosedur tersimpan bernama create_person_table() , di mana DECLARE exit handler for sqlexception bermakna apabila pengecualian berlaku, ia perlu kembali ke keadaan sebelumnya dan mengembalikan "Gagal!"; dan START TRANSACTION digunakan untuk membuka dan menyerahkan transaksi ialah; ditambah pada pernyataan yang mencipta jadual , medan ini menunjukkan masa penciptaan dan nilai lalai ialah masa semasa. COMMITcreated_atDalam prosedur tersimpan, kami menggunakan pernyataan

untuk mengembalikan hasil pelaksanaan. Apabila prosedur tersimpan berjaya dilaksanakan, "Berjaya akan dikembalikan, jika tidak "Gagal akan dikembalikan!"

SELECTSelepas prosedur tersimpan berjaya dibuat, kita boleh memanggilnya melalui perintah

:

CALL

Jika prosedur tersimpan berjaya dilaksanakan, "Berjaya!" fail bernama
CALL create_person_table();
table.

person[Ringkasan]

Penciptaan jadual pangkalan data MySQL melalui prosedur tersimpan boleh menjadikan operasi pangkalan data lebih mudah dan fleksibel. Pada masa yang sama, prosedur tersimpan juga boleh meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Artikel ini menggunakan contoh mudah untuk memperkenalkan cara membuat jadual MySQL melalui prosedur tersimpan Saya harap ia akan membantu semua orang.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan prosedur tersimpan untuk mencipta jadual dalam mysql. 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