cari
Rumahpangkalan datatutorial mysqlTulis fungsi dan prosedur tersimpan dalam SQL Server

在 SQL Server 中编写函数和存储过程

Himpunan pernyataan SQL yang terkandung dalam prosedur dan fungsi tersimpan, objek pangkalan data yang digunakan untuk melaksanakan tugas tertentu (atau boleh juga digunakan dalam sains data). Kedua-duanya berbeza dalam banyak cara.

Dalam artikel ini, kita akan membincangkan fungsi dan prosedur secara terperinci serta perbezaannya.

Mari mulakan dengan prosedur tersimpan -

Prosedur tersimpan dalam SQL

Kod SQL yang ditulis secara ringkas disimpan untuk digunakan semula beberapa kali, membentuk prosedur tersimpan. Jika anda boleh memikirkan pertanyaan yang anda kerap tulis, anda boleh menyimpannya sebagai prosedur tersimpan dan kemudian memanggil prosedur tersimpan itu untuk menjalankan kod SQL yang anda simpan sebagai sebahagian daripada prosedur tersimpan. Ini akan menyelamatkan anda daripada menulis soalan yang sama berulang kali.

Anda boleh berulang kali melaksanakan kod SQL yang sama dan memberikan parameter kepada prosedur yang disimpan. Seperti yang diperlukan, prosedur yang disimpan akan bertindak balas dengan sewajarnya berdasarkan nilai parameter yang dibekalkan.

Prestasi juga boleh dipertingkatkan melalui prosedur tersimpan. Satu set pernyataan SQL digunakan untuk melaksanakan pelbagai tugas. Pernyataan SQL yang dijalankan seterusnya bergantung pada keputusan pernyataan SQL awal dan logik bersyarat. Kenyataan SQL ini dan logik bersyarat yang terkandung di dalamnya boleh digabungkan menjadi satu pelan pelaksanaan tunggal pada pelayan dengan menulisnya ke dalam prosedur tersimpan. Memandangkan semua kerja dilakukan pada pelayan, logik bersyarat boleh dilakukan tanpa menyerahkan hasilnya kepada klien.

Kelebihan prosedur tersimpan

Kompil dan laksanakan

Setiap prosedur tersimpan disusun sekali oleh SQL Server dan kemudian pelan pelaksanaan digunakan semula. Apabila memanggil prosedur tersimpan dengan kerap, peningkatan prestasi adalah besar.

Pengurangan trafik pelanggan/pelayan

Jika lebar jalur rangkaian adalah isu dalam persekitaran anda, anda akan gembira mengetahui bahawa prosedur tersimpan boleh memampatkan carian SQL yang panjang ke dalam satu baris yang boleh dihantar melalui wayar.

Penggunaan semula kod dan pengaturcaraan pengaturcaraan yang cekap

Prosedur tersimpan tersedia untuk banyak pengguna dan aplikasi pelanggan. Jika anda menggunakannya dengan cara yang dirancang, masa yang diperlukan untuk melengkapkan kitaran pembangunan akan menjadi lebih singkat.

Langkah keselamatan yang dipertingkatkan

Berkecuali daripada kebenaran pada jadual asas, anda boleh memberikan pengguna akses untuk menjalankan prosedur tersimpan.

Fungsi dalam SQL

SQL Server menyokong dua jenis fungsi

Fungsi terbina dalam

Fungsi terbina dalam beroperasi mengikut definisi rujukan Transact-SQL dan tidak boleh diubah. Hanya penyataan Transact-SQL yang mengikut sintaks yang ditetapkan oleh rujukan Transact-SQL boleh menggunakan fungsi ini sebagai rujukan.

Sistem telah pun menentukan fungsi ini. Ia terbahagi kepada dua kategori -

Dalam tutorial ini, kami akan merujuk kepada jadual berikut -

ID

Nama

tag

UMUR

1

teruk

90

19

2

suresh

50

20

3

pratik

80

21

4

danraj

95

19

5

RAM

85

18

Fungsi skalar

Operasi ini mengambil nilai sebagai input dan outputnya. Beberapa operasi skalar sistem termasuk -

  • bulat() - Membundarkan nombor kepada tiga digit terdekat. Sebagai contoh, pusingan(28.64851) akan menghasilkan 28.649

SELECT ROUND(MARKS,0) FROM students;
  • upper() - upper("english") mengembalikan bahasa Inggeris, lower("ENGLISH") mengembalikan bahasa Inggeris.

SELECT upper(NAME) FROM Students;

Output

HARSH
SURESH
PRATIK
DHANRAJ
RAM
  • rand() - Menggunakan fungsi rand(), nombor rawak dalam julat akan dikembalikan. Contohnya, Rand(8), mengembalikan 0.71372242401 atau sebarang nombor lain yang dijana secara rawak.

Fungsi agregat sistem

Fungsi ini mengembalikan nilai tunggal, fungsi ini mengambil koleksi argumen input. Contohnya termasuk -

Avg() akan memberikan nilai purata untuk semua input yang disediakan.

Contoh

SELECT AVG(MARKS) FROM Students;

Output

80

Count() Fungsi ini akan mengembalikan bilangan baris yang memenuhi syarat yang diberikan.

Contoh

SELECT COUNT(*) FROM Students;

Output

5

Max() dan min() Fungsi max() dan min() akan mengembalikan nilai tertinggi dan terendah antara argumen yang dibekalkan.

Contoh

SELECT MAX(AGE) FROM Students

Output

21

Contoh

SELECT MIN(AGE) FROM Students;

Output

18

Fungsi yang ditentukan pengguna

Buat fungsi Transact-SQL tersuai menggunakan arahan CREATE FUNCTION. Fungsi yang ditentukan pengguna menyediakan satu nilai dan memerlukan sifar hingga lebih banyak parameter input. Sesetengah fungsi takrif pengguna (UDF) mengembalikan nilai data tunggal, seperti nombor perpuluhan, aksara atau int.

Operasi skalar

Fungsi skalar yang ditentukan pengguna mengeluarkan nilai untuk setiap langkah operasi fungsi. Mengembalikan sebarang nilai jenis data dalam fungsi.

Fungsi bernilai jadual

Fungsi sebaris

Fungsi jadual sebaris dengan nilai yang ditentukan pengguna melaksanakan operasi dan mengembalikan hasilnya sebagai jadual. Tiada badan BEGIN/END. Hanya gunakan pernyataan SELECT untuk mendapatkan keputusan.

Fungsi berbilang kenyataan

Jika fungsi yang ditentukan pengguna mengandungi pernyataan SELECT yang tidak boleh diubah suai atau mengandungi berbilang pernyataan SELECT, hasil yang diberikannya tidak akan berubah. Kita mesti menyatakan secara eksplisit pembolehubah jadual dan menerangkan nilai yang boleh diambil daripada pelbagai pertanyaan SQL.

Kelebihan fungsi yang ditentukan pengguna

  • Sokong pengaturcaraan modular

  • Fungsi ini boleh dibuat sekali, disimpan dalam pangkalan data, dan kemudian digunakan seberapa banyak kali dalam perisian yang anda perlukan. Fungsi yang ditentukan pengguna boleh ditukar tanpa mengubah kod sumber aplikasi.

  • Mereka mempercepatkan pelaksanaan

  • Fungsi yang ditakrifkan pengguna Transact-SQL (seperti prosedur tersimpan) mengurangkan kos penyusunan dengan menyimpan cache pelan dan menggunakannya semula merentas pelbagai pelaksanaan. Oleh kerana fungsi yang ditentukan pengguna tidak perlu dipulihkan dan dioptimumkan setiap kali ia digunakan, masa pelaksanaan dikurangkan dengan ketara.

  • Untuk beban kerja pengiraan, logik perniagaan dan operasi rentetan, fungsi CLR berfungsi dengan lebih baik daripada fungsi Transact-SQL. Logik intensif akses data lebih sesuai untuk operasi Transact-SQL.

  • Mereka mungkin mengurangkan aktiviti rangkaian.

  • Fungsi boleh digunakan untuk mewakili operasi yang menapis maklumat berdasarkan kekangan kompleks yang tidak boleh diwakili oleh satu ungkapan angka. Untuk mengurangkan bilangan baris yang disampaikan kepada klien, fungsi ini boleh digunakan dalam klausa WHERE.

Perbezaan antara fungsi yang ditentukan pengguna dan prosedur tersimpan

Jadual berikut menyerlahkan perbezaan utama antara fungsi yang ditentukan pengguna dan prosedur tersimpan dalam SQL -

Standard

Fungsi yang ditetapkan pengguna

Prosedur Tersimpan

nilai pulangan

Nilai tunggal

Tunggal, berbilang malah sifar

Parameter

Masukkan nilai

Nilai input dan output

Pangkalan data

Tidak boleh diubah suai

boleh diubah suai

Kenyataan

PILIH kenyataan sahaja

PILIH dan penyata DML

Panggil

Panggilan dari prosedur

tidak boleh dipanggil dari fungsi

Susun dan laksanakan

Perlu compile setiap masa

Hanya susun sekali

Pengurusan Transaksi

Mustahil

Mustahil

Kesimpulan

Dalam artikel ini, kami membincangkan secara mendalam tentang prosedur tersimpan dan kelebihannya, fungsi, jenis fungsi dan kelebihan fungsi dan akhirnya disimpulkan dengan perbezaan antara fungsi dan prosedur tersimpan.

Atas ialah kandungan terperinci Tulis fungsi dan prosedur tersimpan dalam SQL Server. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:tutorialspoint. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Peranan MySQL: Pangkalan Data dalam Aplikasi WebPeranan MySQL: Pangkalan Data dalam Aplikasi WebApr 17, 2025 am 12:23 AM

Peranan utama MySQL dalam aplikasi web adalah untuk menyimpan dan mengurus data. 1.MYSQL dengan cekap memproses maklumat pengguna, katalog produk, rekod urus niaga dan data lain. 2. Melalui pertanyaan SQL, pemaju boleh mengekstrak maklumat dari pangkalan data untuk menghasilkan kandungan dinamik. 3.MYSQL berfungsi berdasarkan model klien-pelayan untuk memastikan kelajuan pertanyaan yang boleh diterima.

MySQL: Membina pangkalan data pertama andaMySQL: Membina pangkalan data pertama andaApr 17, 2025 am 12:22 AM

Langkah -langkah untuk membina pangkalan data MySQL termasuk: 1. Buat pangkalan data dan jadual, 2. Masukkan data, dan 3. Pertama, gunakan pernyataan CreatedataBase dan createtable untuk membuat pangkalan data dan jadual, kemudian gunakan pernyataan InsertInto untuk memasukkan data, dan akhirnya gunakan pernyataan PILIH untuk menanyakan data.

MySQL: Pendekatan mesra pemula untuk penyimpanan dataMySQL: Pendekatan mesra pemula untuk penyimpanan dataApr 17, 2025 am 12:21 AM

MySQL sesuai untuk pemula kerana mudah digunakan dan berkuasa. 1.MYSQL adalah pangkalan data relasi, dan menggunakan SQL untuk operasi CRUD. 2. Ia mudah dipasang dan memerlukan kata laluan pengguna root untuk dikonfigurasi. 3. Gunakan Masukkan, Kemas kini, Padam, dan Pilih untuk Melaksanakan Operasi Data. 4. Orderby, di mana dan menyertai boleh digunakan untuk pertanyaan yang kompleks. 5. Debugging memerlukan memeriksa sintaks dan gunakan Jelaskan untuk menganalisis pertanyaan. 6. Cadangan pengoptimuman termasuk menggunakan indeks, memilih jenis data yang betul dan tabiat pengaturcaraan yang baik.

Adakah MySQL Beginner-mesra? Menilai lengkung pembelajaranAdakah MySQL Beginner-mesra? Menilai lengkung pembelajaranApr 17, 2025 am 12:19 AM

MySQL sesuai untuk pemula kerana: 1) mudah dipasang dan mengkonfigurasi, 2) sumber pembelajaran yang kaya, 3) sintaks SQL intuitif, 4) sokongan alat yang kuat. Walau bagaimanapun, pemula perlu mengatasi cabaran seperti reka bentuk pangkalan data, pengoptimuman pertanyaan, pengurusan keselamatan, dan sandaran data.

Adakah SQL adalah bahasa pengaturcaraan? Menjelaskan istilahAdakah SQL adalah bahasa pengaturcaraan? Menjelaskan istilahApr 17, 2025 am 12:17 AM

Ya, sqlisaprogramminglanguagespecializedfordatamanagement.1) it'sdeclarative, focusingonwhathattoachieverthanhan.2) sqlisesessentialforquerying, memasukkan, mengemas kini, dandeleletingdatainrelationaldatabases.3)

Terangkan sifat asid (atom, konsistensi, pengasingan, ketahanan).Terangkan sifat asid (atom, konsistensi, pengasingan, ketahanan).Apr 16, 2025 am 12:20 AM

Atribut asid termasuk atom, konsistensi, pengasingan dan ketahanan, dan merupakan asas reka bentuk pangkalan data. 1. Atomicity memastikan bahawa urus niaga sama ada berjaya atau gagal sepenuhnya. 2. Konsistensi memastikan pangkalan data tetap konsisten sebelum dan selepas transaksi. 3. Pengasingan memastikan bahawa urus niaga tidak mengganggu satu sama lain. 4. Kegigihan memastikan data disimpan secara kekal selepas penyerahan transaksi.

MySQL: Sistem Pengurusan Pangkalan Data vs Bahasa PengaturcaraanMySQL: Sistem Pengurusan Pangkalan Data vs Bahasa PengaturcaraanApr 16, 2025 am 12:19 AM

MySQL bukan sahaja sistem pengurusan pangkalan data (DBMS) tetapi juga berkait rapat dengan bahasa pengaturcaraan. 1) Sebagai DBMS, MySQL digunakan untuk menyimpan, menyusun dan mengambil data, dan mengoptimumkan indeks dapat meningkatkan prestasi pertanyaan. 2) Menggabungkan SQL dengan bahasa pengaturcaraan, tertanam dalam Python, menggunakan alat ORM seperti SQLalChemy dapat memudahkan operasi. 3) Pengoptimuman prestasi termasuk pengindeksan, pertanyaan, caching, perpustakaan dan bahagian meja dan pengurusan transaksi.

MySQL: Menguruskan data dengan arahan SQLMySQL: Menguruskan data dengan arahan SQLApr 16, 2025 am 12:19 AM

MySQL menggunakan arahan SQL untuk menguruskan data. 1. Perintah asas termasuk pilih, masukkan, kemas kini dan padam. 2. Penggunaan lanjutan melibatkan fungsi gabungan, subquery dan agregat. 3. Kesilapan umum termasuk isu sintaks, logik dan prestasi. 4. Petua Pengoptimuman termasuk menggunakan indeks, mengelakkan Pilih* dan menggunakan had.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual