儲存過程編寫的乙個經驗

2021-04-01 10:24:35 字數 676 閱讀 1653

儲存過程最好只有乙個返回值的select語句,讓系統直接判斷出儲存過程返回的字段。前面這個寫法在sql query中沒有任何問題,但在***開發程式中有時就不能返回結果。

不良寫法

create procedure p_employee

(@id int)

asif @id=1

select name,age from employee where dept='it'

if @id=2

select name,age from employee where dept='hr'

較好的寫法應該是:

create procdure p_employee

(@id int)

ascreate table #temp

(name varchar(10),

age int

)if @id=1

insert into #temp(name,age)

select name,age from employee where dept='it'

if @id=2

insert into #temp(name,age)

select name,age from employee where dept='hr'

select name,age from #temp

儲存過程編寫經驗優化

1 開發人員如果用到其他庫的table或view,務必在當前庫中建立view來實現跨庫操作,最好不要直接使用 databse.dbo.table name 因為sp depends不能顯示出該sp所使用的跨庫table或view,不方便校驗。2 開發人員在提交sp前,必須已經使用set showpl...

乙個儲存過程

create or replace package abc zys is procedure daily census end abc zys 建乙個包,包中有儲存過程daily census。不涉及任何引數。create or replace package body abc zys is pro...

乙個儲存過程

首先是建立儲存過程.drop procedure if exists externalcalltocomplete delimiter create procedure externalcalltocomplete begin drop table if exists temp1 create ta...