使用SQL語句創建存儲的具體過程如下:
1、首先,打開企業管理器,選擇【工具】-【查詢分析器】:
❷ sql的創建存儲語句怎麼寫啊
--[p2]
create proc p2 @blh char(6),@odate datetime
as
select 病歷號,入院時間 from 診療情況
where 病歷號=@blh and 入院時間=@odate
go
--2.
create proc 存儲過程名1 @blh char(6),@outdate datetime
as
update 診療情況 set 出院時間=getdate() where 病歷號=@blh
exec p2 @blh,@outdate
commit
go
--修改病歷號為A01101 ,入院時間為『2012-5-1』的病人出院時間
exec 存儲過程名1 'A01101','2012-5-1'
go
--[p3]:
create proc p3 @dname varchar(10),@avg_age int output
as
select @avg_age=avg(病人.年齡)
from 病人,診療情況,醫生
where 醫生.醫生號=診療情況.醫生號
and 診療情況.病歷號=病人.病歷號
and 醫生.醫生姓名=@dname
go
--3.
create proc 存儲過程名2 @dname varchar(10)
as
declare @avgage int
exec p3 @dname,@avg_age=@avgage output
select 病人.病人姓名,病人.病人年齡
from 病人,診療情況,醫生
where 醫生.醫生號=診療情況.醫生號
and 診療情況.病歷號=病人.病歷號
and 醫生.醫生姓名=@dname
and 病人.病人年齡>@avgage
go
❸ sql怎樣新建存儲過程
一:創建沒有參數的存儲過程:
CREATE PROCEDURE select_all
AS
BEGIN
SELECT * from T_login1
GO
二:創建帶參數的存儲過程:
CREATE PROCEDURE select_name
@id uniqueidentifier
AS
BEGIN
SELECT * from T_login1 where PSN0001A=@id
GO
(3)創建存儲過程的sql語句擴展閱讀:
創建存儲過程的注意事項:
1、保持事務簡短,事務越短,越不可能造成阻塞。
2、在事務中盡量避免使用循環while和游標,以及避免採用訪問大量行的語句。
3、在啟動事務前完成所有的計算和查詢等操作,避免同一事務中交錯讀取和更新。可以使用表變數預先存儲數據。即存儲過程中查詢與更新使用兩個事務實現。
4、超時會讓事務不執行回滾,超時後如果客戶端關閉連接sqlserver自動回滾事務。如果不關閉,將造成數據丟失,而其他事務將在這個未關閉的連接上執行,造成資源鎖定,甚至伺服器停止響應。
❹ mysql怎麼用sql語句創建存儲過程
delimiter
$$
mysql>
mysql>
create
procere
myproc()
//創建while循環的存儲過程
if分支語句示例
->
begin
->
->
declare
i
int;
->
set
i=1;
->
loop1:
while
i<=10
do
->
if
mod(i,2)<>0
then
/*even
number
-
try
again*/
->
select
concat(i,"
is
an
odd
number");
->
end
if;
->
set
i=i+1;
->
end
while
loop1;
->
end$$
query
ok,
0
rows
affected
(0.00
sec)
這種也可以
❺ SQL 中創建存儲過程
你把那個創建存儲過程的查詢語句運行一下
資料庫里就會按照你的語句建立存儲過程了
建立好後你寫的那個創建存儲過程的語句就沒用了
下次直接就可以調用創建好的存儲過程
有output參數的存儲過程可以通過定義變數來傳入參數啊,比如這樣
--創建存儲過程
create
procere
Test
@i
int
output
as
set
@i
=
@i
*
2
--定義一個變數
declare
@i
int
--賦值10
set
@i
=
10
--列印輸出
print
@i
--調用存儲過程,使變數@i乘以2
Test
@i
output
--列印輸出
print
@i
❻ 如何在sql創建一條插入數據的存儲過程
1、首先需要打開SQL Server Managment管理工具,新建一個表。
❼ 在SQL中存儲過程的一般語法是什麼
1、 創建語法
createproc|procerepro_name
[{@參數數據類型}[=默認值][output],
{@參數數據類型}[=默認值][output],
....
]
as
SQL_statements
2、 創建不帶參數存儲過程
--創建存儲過程
if(exists(select*fromsys.objectswherename='proc_get_student'))
dropprocproc_get_student
go
createprocproc_get_student
as
select*fromstudent;
--調用、執行存儲過程
execproc_get_student;
3、 修改存儲過程
--修改存儲過程
alterprocproc_get_student
as
select*fromstudent;
4、 帶參存儲過程
--帶參存儲過程
if(object_id('proc_find_stu','P')isnotnull)
dropprocproc_find_stu
go
createprocproc_find_stu(@startIdint,@endIdint)
as
select*fromstudentwhereidbetween@startIdand@endId
go
execproc_find_stu2,4;
5、 帶通配符參數存儲過程
--帶通配符參數存儲過程
if(object_id('proc_findStudentByName','P')isnotnull)
dropprocproc_findStudentByName
go
createprocproc_findStudentByName(@namevarchar(20)='%j%',@nextNamevarchar(20)='%')
as
select*fromstudentwherenamelike@nameandnamelike@nextName;
go
execproc_findStudentByName;execproc_findStudentByName'%o%','t%';
(7)創建存儲過程的sql語句擴展閱讀:
SQL存儲過程優點:
1、重復使用。存儲過程可以重復使用,從而可以減少資料庫開發人員的工作量。
2、減少網路流量。存儲過程位於伺服器上,調用的時候只需要傳遞存儲過程的名稱以及參數就可以了,因此降低了網路傳輸的數據量。
3、安全性。參數化的存儲過程可以防止SQL注入式攻擊,而且可以將Grant、Deny以及Revoke許可權應用於存儲過程。
❽ sql server中怎樣用代碼創建存儲過程
打開SQL server management studio,連接到資料庫,展開想要創建的資料庫,找到【可編程性】->【存儲過程】的菜單
❾ 用SQL語句創建存儲過程
--1、創建存儲過程--
if
exists
(select
*
from
sysobjects
where
name='info1')
drop
procere
info1
go
create
procere
info1
@sname
varcher(20),
as
begin
declear
@xinxi
varcher(20)
set
@xinxi='select
學號,姓名,出身日期,系別(注,列名自己設置)
from
student
where
姓名=@sname'
print'@xinxi';
end
--調用存儲過程1--
exec
info1
@sname=姓名
後面的自己參考,可以寫出來
❿ 創建存儲過程的sql語句
創建存儲過程需要具體問題具體分析,一般以oracle資料庫為例,語法為:
CREATE[ORReplace]PROCEDURE[schema.]procere_name
[(argument[{IN|OUT|INOUT}]datatype,
...
argument[{IN|OUT|INOUT}]datatype)]
{IS|AS}
[descriptionpart說明部分]
BEGIN
SQLSTATEMENT語句序列
[EXCEPTION例外處理]
END[procereName過程名];
語法分析:
ORREPLACE
是一個可選的關鍵字,建議用戶使用此關鍵字。如果過程已經存在,該關鍵字將重新創建過程,這樣就不必刪除和重新創建過程。
關鍵字IS和AS均可,
它們本身沒有區別。IS後面是一個完整的PL/SQL塊,可以定義局部變數,但不能以DECLARE開始。局部變數在過程內部存放值。
形式參數可以有三種模式:IN、OUT、INOUT。如果沒有為形式參數指定模式,那麼默認的模式是IN。
IN表示輸入參數
OUT表示輸出參數