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

Bagaimana Anda membuat templat prosedur tersimpan SQL Server 2005 di SQL Server 2005 Management Studio?

Nugget kecil lain yang saya pikir akan membantu orang mengembangkan dan menjadi lebih produktif dalam pengembangan database mereka. Saya penggemar prosedur dan fungsi tersimpan ketika saya mengembangkan solusi perangkat lunak. Saya suka metode CRUD saya yang sebenarnya untuk diterapkan di tingkat basis data. Hal ini memungkinkan saya untuk menyeimbangkan pekerjaan saya antara perangkat lunak aplikasi (logika bisnis dan akses data) dan database itu sendiri. Tidak ingin memulai perang agama, tetapi saya ingin mengizinkan orang untuk mengembangkan prosedur tersimpan lebih cepat dan dengan praktik terbaik melalui templat.

Mari kita mulai dengan membuat template Anda sendiri di SQL Server 2005 management Studio. Pertama, Anda perlu menampilkan Template Explorer di Studio.

teks alternatif http://www.cloudsocket.com/images/image-thumb10.png

Ini akan menunjukkan yang berikut:

teks alternatif http://www.cloudsocket.com/images/image-thumb11.png

teks alternatif http://www.cloudsocket.com/images/image-thumb12.png

teks alternatif http://www.cloudsocket.com/images/image-thumb13.png

IDE akan membuat template kosong. Untuk mengedit template, klik kanan pada template dan pilih Edit. Anda akan mendapatkan jendela Query kosong di IDE. Anda sekarang dapat memasukkan implementasi template Anda. Di sini saya memiliki templat prosedur tersimpan yang baru untuk menyertakan TRY CATCH. Saya suka memasukkan penanganan kesalahan dalam prosedur tersimpan saya. Dengan tambahan TRY CATCH baru ke TSQL di SQL Server 2005, kita harus mencoba menggunakan mekanisme penanganan pengecualian yang kuat ini melalui kode kita termasuk kode database. Simpan template dan Anda siap menggunakan template baru untuk pembuatan prosedur tersimpan.

-- ======================================================
-- Create basic stored procedure template with TRY CATCH
-- ======================================================

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        <Author,,Name>
-- Create date: <Create Date,,>
-- Description:    <Description,,>
-- =============================================
CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName>
    -- Add the parameters for the stored procedure here
    <@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>,
    <@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
    BEGIN TRY
        BEGIN TRANSACTION    -- Start the transaction

        SELECT @p1, @p2

        -- If we reach here, success!
        COMMIT
    END TRY
    BEGIN CATCH
        -- there was an error
        IF @@TRANCOUNT > 0
        ROLLBACK

        -- Raise an error with the details of the exception
        DECLARE @ErrMsg nvarchar(4000), @ErrSeverity int
        SELECT @ErrMsg = ERROR_MESSAGE(), @ErrSeverity = ERROR_SEVERITY()

        RAISERROR(@ErrMsg, @ErrSeverity, 1)
    END CATCH
GO


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sisipkan massal dengan kualifikasi teks di SQL Server

  2. Bagaimana Memperbaiki "Pernyataan EXECUTE gagal karena dengan klausa WITH RESULT SETS ditentukan 2 kolom untuk kumpulan hasil ..." Msg 11537 di SQL Server

  3. Jika Kunci Asing Tidak Ada Kemudian Tambahkan Batasan Kunci Asing (Atau Jatuhkan Batasan Kunci Asing Jika Ada) tanpa menggunakan Nama?

  4. Bagaimana cara mendeskripsikan tabel di SQL Server 2008?

  5. Permintaan sangat lambat dalam kode tetapi cepat dalam SSMS