sqlserver 儲存過程 注釋快捷鍵

2021-09-09 06:53:19 字數 4414 閱讀 6969

ctrl + k + c: 注釋多行

ctrl + k + u: 取消多行注釋。當然,也可以注釋一行!

儲存過程

一.不含引數的儲存過程

1.沒有返回值:

建立語句:

create procedure dbo.protest

asdeclare @test int

set @test = 1

go執行sql語句:

exec dbo.protest

訊息:命令已成功完成。結果:無

2.有返回值(使用select):

建立語句:

create procedure dbo.protest

asdeclare @test int;

set @test = 123;

select  @test;

go執行sql語句:

exec dbo.protest

訊息:(1 行受影響)。結果:123(表結構形式)

3.有返回值(使用return)

建立語句:

create procedure dbo.protest

asdeclare @test int;

set @test = 123;

return @test;

go執行sql語句:

declare @test int;

exec @test = dbo.protest;

select  @test

訊息:(1 行受影響)。結果:123(表結構形式)

4.查詢乙個或多個集合(類似執行select)

建立語句:

create procedure dbo.protest

asselect  *

from    dbo.material_so_pipeorder;

go執行sql語句:

exec dbo.protest

訊息:查詢出來的條數

結果:查詢結果

二.含引數的儲存過程

1.沒有返回值

建立語句:

create procedure dbo.protest

@orderno nvarchar(50) ,

@ordername nvarchar(50) ,

@rmdsc nvarchar(500) = null  --表示可為空引數

asif ( @orderno is not null )

begin    

insert  into dbo.material_so_pipeorder

( id, orderno, ordername, rmdsc )

values  ( newid(), -- id - uniqueidentifier

@orderno, -- orderno - nvarchar(50)

@ordername, -- ordername - nvarchar(50)

@rmdsc  -- rmdsc - nvarchar(500)

);end;

go執行sql語句:

exec dbo.protest @orderno = n'單號001', @ordername = n'名稱001', @rmdsc = n'備註'

(或不寫列名"exec  dbo.protest  n'單號001', n'名稱001', n'備註';",但不能混合使用,下同)

訊息:(1 行受影響)。結果:無

2.有返回值(使用select)

建立語句:

create procedure dbo.protest

@orderno nvarchar(50) ,

@ordername nvarchar(50) ,

@rmdsc nvarchar(500)

asif ( @orderno is not null )

begin    

insert  into dbo.material_so_pipeorder

( id, orderno, ordername, rmdsc )

values  ( newid(), @orderno, -- orderno - nvarchar(50)

@ordername, -- ordername - nvarchar(50)

@rmdsc  -- rmdsc - nvarchar(500)

);select 1;

end;

else

select -1;

go執行sql語句:

exec  dbo.protest @orderno = n'單號001', @ordername = n'名稱001', @rmdsc = n'備註';

訊息:(1 行受影響)

(1 行受影響)

結果:1(表結構形式)

3.有返回值(使用return)

建立語句:

create procedure dbo.protest

@orderno nvarchar(50) ,

@ordername nvarchar(50) ,

@rmdsc nvarchar(500)

asif ( @orderno is not null )

begin    

insert  into dbo.material_so_pipeorder

( id, orderno, ordername, rmdsc )

values  ( newid(), @orderno, -- orderno - nvarchar(50)

@ordername, -- ordername - nvarchar(50)

@rmdsc  -- rmdsc - nvarchar(500)

);return 1;

end;

else

return -1;

go執行sql語句:

declare @test int;

exec @test = dbo.protest @orderno = n'單號001', @ordername = n'名稱001', @rmdsc = n'備註';

select @test

訊息:(1 行受影響)

(1 行受影響)

結果:1(表結構形式)

4.帶輸出引數的儲存過程(以沒有返回值的為例)

建立語句:

create procedure dbo.protest

@orderno nvarchar(50) ,

@ordername nvarchar(50) ,

@rmdsc nvarchar(500) ,

@id uniqueidentifier output --輸出引數要用output標識

asif ( @orderno is not null )

begin    

declare @newid uniqueidentifier;

set @newid = newid();

insert  into dbo.material_so_pipeorder

( id ,

orderno ,

ordername ,

rmdsc

)values  ( @newid ,

@orderno , -- orderno - nvarchar(50)

@ordername , -- ordername - nvarchar(50)

@rmdsc  -- rmdsc - nvarchar(500)

);set @id = @newid;--可以不賦值

end;

else

set @id = null;--可以不賦值

go執行sql語句:

declare @idtest uniqueidentifier;

exec dbo.protest @orderno = n'單號001', -- nvarchar(50)

@ordername = n'名稱001', -- nvarchar(50)

@rmdsc = n'備註', -- nvarchar(500)

@id = @idtest output; --如果不加output,select結果為null

select  @idtest;

訊息:(1 行受影響)

(1 行受影響)

結果:edd11ef3-cd03-4c95-8b79-b3123b34c292(表結構形式)

三.總結與注意:

1.關於儲存過程的返回值:

(1).如果有return,則返回return的結果;

(2).如果沒有return,則返回int值0(即使儲存過程中有select集合,或insert受影響行等);

(3).如果帶輸出引數,則儲存過程的返回值同(1),(2);output的引數需要select出來;

sql server儲存過程

建立表的語句 create table student sno int primary key,sname nvarchar 30 sgentle nvarchar 2 sage int,sbirth smalldatetime,sdept nvarchar 30 drop table studen...

SQLSERVER儲存過程

sqlserver儲存過程使用說明書 引言首先介紹一下什麼是儲存過程 儲存過程就是將常用的或很複雜的工作,預先用 sql語句寫好並用乙個指定的名稱儲存起來,並且這樣的語句是放在資料庫中的,還可以根據條件執行不同 sql語句,那麼以後要叫資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫 ex...

SQL Server 儲存過程

儲存過程概念 儲存過程優點 儲存過程的介面 儲存過程的解析 編譯過程 儲存過程安全性 檢視儲存過程 加密 解密儲存過程 儲存過程概念 儲存過程 stored procedure 是一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中。使用者通過指定儲存過程的名字並給出引數 帶參儲存過程 來執行...