Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL Dinamis (melewati nama tabel sebagai parameter)

Yah, pertama-tama Anda menghilangkan '+' dari string Anda. Cara melakukan sesuatu ini jauh dari ideal, tetapi Anda dapat melakukannya

DECLARE @SQL varchar(250)
SELECT @SQL = 'SELECT * FROM ' + QuoteName(@Alias)
Exec(@SQL)

Saya sangat menyarankan untuk memikirkan kembali bagaimana Anda melakukan ini. Menghasilkan SQL Dinamis sering menyebabkan kerentanan SQL Injection serta mempersulit SQL Server (dan DB lainnya) untuk mencari cara terbaik untuk memproses kueri Anda. Jika Anda memiliki prosedur tersimpan yang dapat mengembalikan tabel apa pun, Anda benar-benar tidak mendapatkan manfaat apa pun darinya sebagai prosedur tersimpan karena tidak akan dapat berbuat banyak dalam hal pengoptimalan, dan Anda sebagian besar mengebiri manfaat keamanan juga.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa yang terjadi jika Anda tidak melakukan transaksi ke database (misalnya, SQL Server)?

  2. Bagaimana Fungsi PATINDEX() Bekerja di SQL Server (T-SQL)

  3. 11 Cara Mengembalikan Kunci Asing di Database SQL Server menggunakan T-SQL

  4. Jawaban Teratas untuk 5 Pertanyaan Pembakaran pada Fungsi COALESCE di SQL Server

  5. Gunakan variabel dengan TOP dalam pernyataan pilih di SQL Server tanpa membuatnya dinamis