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

Nama tabel dinamis dalam fungsi prosedur tersimpan

Jika Anda ingin menyusun pernyataan SQL menggunakan pengidentifikasi, maka Anda perlu menggunakan pernyataan yang sudah disiapkan; tetapi pernyataan yang disiapkan tidak dapat digunakan dalam fungsi. Jadi, Anda dapat membuat prosedur tersimpan dengan parameter OUT -

CREATE PROCEDURE getName
 (IN tableName VARCHAR(50), IN myId INT(11), OUT myName VARCHAR(50))
BEGIN

  SET @GetName =
    CONCAT('SELECT name INTO @var1 FROM ', tableName, ' WHERE id=', myId);
  PREPARE stmt FROM @GetName;
  EXECUTE stmt;

  SET myName = @var1;
END

Menggunakan contoh -

SET @tableName = 'tbl';
SET @myId = 1005;
SET @name = NULL;
CALL getName(@tableName, @myId, @name);
SELECT @name;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan ukuran tabel database MySQL?

  2. MySQL - Pemicu untuk memperbarui tabel yang sama setelah dimasukkan

  3. bergabung bersyarat di mysql

  4. Bagaimana Membandingkan Nilai Null di MySQL

  5. Ekspor Database MySQL Atau MariaDB