sqlserver怎麼建立儲存過程

2021-06-03 00:51:42 字數 3502 閱讀 6213

1樓:168隨風

1、 建立語法

create proc | procedure pro_name[ [=預設值] [output],

[=預設值] [output],

....]as

sql_statements

2、 建立不帶引數儲存過程

--建立儲存過程

if (exists (select * from sys.objects where name = 'proc_get_student'))

drop proc proc_get_studentgocreate proc proc_get_studentasselect * from student;

--呼叫、執行儲存過程

exec proc_get_student;

2樓:

開啟sql

新建查詢管理器

在查詢管理器中寫如下**:

create procedure 【儲存過程名稱】as begin

/******(功能實現**)******/endgo

即可建立儲存過程

為了保證建立的資料庫準確性,在建立儲存過程前最好寫上 use 【資料庫名稱】,來宣告使用哪個資料庫

功能**可以是查詢語句,刪除語句,更新語句,插入語句,變數賦值等等等等

3樓:_慾哭嘸淚

1、自定義儲存過程是由使用者使用者自定義建立,並能完成某一特定功能,如:查詢使用者所需資料資訊的儲存過程。

這裡我們看看儲存過程的好處:

1)重複使用。儲存過程可以重複使用,從而可以減少資料庫開發人員的工作量。

2)提高效能。儲存過程在建立的時候就進行了編譯,將來使用的時候不用再重新編譯。一般的sql語句每執行一次就需要編譯一次,所以使用儲存過程提高了效率

3)減少網路流量。儲存過程位於伺服器上,呼叫的時候只需要傳遞儲存過程的名稱以及引數就可以了,因此降低了網路傳輸的資料量。

4)安全性。引數化的儲存過程可以防止sql注入式的攻擊,而且可以將grant、deny以及revoke許可權應用於儲存過程。

2、儲存過程建立的基本語法

create  proc[edure]  儲存過程名

@引數1  資料型別 = 預設值,

…… ,

@引數n  資料型別 output

assql語句

go,引數是可選的

,引數分為輸入引數、輸出引數

,輸入引數允許有預設值

建立一個簡單的儲存過程 userlogin

create procedure userlogin

@name varchar(20),

@password varchar(20)

asbegin

select * from userinfo where username=@name and userpass=@password

endgo

3、儲存過程的使用

該儲存過程對應的查詢sql語句為:

select * from userinfo where username='admin' and userpass='admin'

查詢結果:

---------------------

username  userpass

admin      admin

使用儲存過程userlogin實現以上效果如下:

exec userlogin admin,admin

--或這樣呼叫:

exec userlogin @name='admin',@password='admin'

查詢結果:

---------------------

username  userpass

admin      admin

在資料中呼叫儲存過程的方法有兩種(這裡exec與execute等效);

exec  過程名  引數值1,引數值2,....

或者exec 引數1=引數值1,引數2=引數值2....

4、刪除一個儲存過程,用drop,如下:

drop procedure userlogin

4樓:射手小小王

if exists

(select 1

from sysobjects

where name = 'deletetenews' and type = 'p')

drop procedure deletetenewsgocreate procedure deletetenews(@xwbm char(14), @typeid char(2) output, @picurl varchar(100) output)

asbegin

set nocount on;

select @typeid = s.typeid,@picurl = s.picurl

from tb_news s

where s.xwbm = @xwbm; --返回型別編碼重新生成js檔案

delete from tb_news

where xwbm = @xwbm;

set nocount off;

end*/

sqlserver裡儲存過程怎麼呼叫儲存過程

5樓:司馬鑄劍

在sql server資料庫的維護或者web開發中,有時需要在儲存過程或者作業等其他資料庫操作中呼叫其它的儲存過程,下面介紹其呼叫的方法

在sql server資料庫的維護或者web開發中,有時需要在儲存過程或者作業等其他資料庫操作中呼叫其它的儲存過程,下面介紹其呼叫的方法

一、sql server中呼叫不帶輸出引數的儲存過程

sql **

--儲存過程的定義

create procedure [sys].[sp_add_product]

(@m_viewcount int = 0

,@m_hotcount int = 0)as

go--儲存過程的呼叫

declare @m_viewcount int

declare @m_hotcount int

exec sp_add_product @m_viewcount,@m_hotcount

二、sql server中呼叫帶輸出引數的儲存過程

sql **

--定義儲存過程

create procedure [sys].[sp_add_product]

(@m_viewcount int = 0

,@m_hotcount int output

)--儲存過程的呼叫

declare @m_viewcount int =0

declare @m_hotcount int

exec dbo.sp_add_product @m_viewcount,@m_hotcount output

sqlserver怎麼建立儲存過程

我在建立儲存過程時sqlserver2019每次執行都

if exists select name from sysobjects where name firstprocedure and type p drop procedure firstprocedure go你建立的 抄時候前面加一句襲這個,先判斷 bai該儲存過程是否du存在,存在的話先zh...

sqlserver下怎麼建立資料庫怎麼建表

create database studbon primary 預設就屬於primary檔案組,可省略 資料檔案的具體描述 name studb data 主資料檔案的邏輯名稱filename d studb data.mdf 主資料檔案的物理名稱 size 5mb,主資料檔案的初始大小maxsiz...

sqlserver2019用語句建立表

新建查詢,然後輸入如下sql語句 create table 表名 列名1 型別 not null primary key 列名2 型別 not null 以上是模板,列屬性根據具體要做的表來一一設定,建完後重新整理一下資料庫 直接create 表明 欄位設定 visual foxpro中時這樣 點選...