sql新建存儲過程
實現的方法和詳細的操作步驟如下:
1、第一步,創建一個存儲過程,該代碼如圖所示。存儲過程的主要目的是為表「JingYan」插入新數據,如下圖所示,然後進入下一步。
⑵ sql server中怎樣用代碼創建存儲過程
⑶ 使用SQL語句創建存儲過程
使用SQL語句創建存儲的具體過程如下:
1、首先,打開企業管理器,選擇【工具】-【查詢分析器】:
⑷ SQL SERVER 如何應用存儲過程呢操作方法有什麼呢
SQL SERVER 如何應用存儲過程呢?
首先最好在SQL SERVER的管理工具中通過create procere寫一條語句來創建存儲過程,創建語句後,點擊工具欄中的執行命令,消息欄中顯示命令已成功完成的消息,證明存儲過程已創建。然後就可以在存儲過程子文件夾下看到自己創建的存儲過程了,執行存儲過程,可以使用exec命令,後跟存儲過程的名稱,另外,還可以在創建存儲過程的時候傳入參數,如下圖,需要使用@符號傳入參數,如果你的存儲過程加了參數,那麼如果你調用的時候沒有傳入參數,SQL SERVER會提示錯誤。
3、存儲過程減少網路流量對於資料庫對象的相同操作,如果將此次操作所涉及的T-SQL語句組織成一個存儲過程,在客戶端調用該存儲過程時,只在網路上傳遞調用語句,否則會是多條 SQL 語句。從而減輕了網路流量,降低了網路負載存儲過程可以用作安全機制,系統管理員可以對要執行的存儲過程的許可權進行限制,從而限制對某些數據的訪問,避免未經授權的用戶訪問數據,保證數據安全。
⑸ 用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存儲過程
步驟如下:
1.
在對象資源管理器中,連接到某個資料庫引擎實例,再展開該實例。
2.
展開「資料庫」、sql
server存儲過程所屬的資料庫以及「可編程性」。
3.
右鍵單擊「存儲過程」,再單擊「新建存儲過程」。
4.
在「查詢」菜單上,單擊「指定模板參數的值」。
5.
在「指定模板參數的值」對話框中,「值」列包含參數的建議值。接受這些值或將其替換為新值,再單擊「確定」。
6.
在查詢編輯器中,使用過程語句替換
SELECT
語句。
7.
若要測試語法,請在「查詢」菜單上,單擊「分析」。
8.
若要創建sql
server存儲過程,請在「查詢」菜單上,單擊「執行」。
9.
若要保存腳本,請在「文件」菜單上,單擊「保存」。接受該文件名或將其替換為新的名稱,再單擊「保存」。
⑺ sql創建存儲過程
CREATE PROCEDURE 語句
說明 在資料庫中創建新過程。
語法 CREATE PROCEDURE [ owner.]procere-name ( [ parameter , ... ] ) {
[ RESULT ( result-column, ... ) | NO RESULT SET ] [ ON EXCEPTION
RESUME ] compound statement | AT location-string | | [ DYNAMIC
RESULT SETS integer-expression ]
[ EXTERNAL NAME java-call LANGUAGE JAVA ]
}
參數 parameter:
parameter_mode parameter-name data-type [ DEFAULT expression ]
| SQLCODE
| SQLSTATE
parameter_mode:
IN | OUT | INOUT
result-column:
column-name data-type
library-call:
'[email protected]; ...'第 6章 SQL 語句
參考手冊 439
java-call:
'[package-name.]class-name.method-name method-signature'
method-signature:
( [ field-descriptor,...] ) return-descriptor
field-descriptor | return-descriptor:
Z | B | S | I | J | F | D | C | V | [descriptor | Lclass-name;
示例 • 以下過程使用 case 語句對查詢結果歸類。
CREATE PROCEDURE ProctType (IN proct_id INT, OUT
type CHAR(10))
BEGIN
DECLARE prod_name CHAR(20) ;
SELECT name INTO prod_name FROM "DBA"."proct"
WHERE id = proct_id;
CASE prod_name
WHEN 'Tee Shirt' THEN
SET type = 'Shirt'
WHEN 'Sweatshirt' THEN
SET type = 'Shirt'
WHEN 'Baseball Cap' THEN
SET type = 'Hat'
WHEN 'Visor' THEN
SET type = 'Hat'
WHEN 'Shorts' THEN
SET type = 'Shorts'
ELSE
SET type = 'UNKNOWN'
END CASE ;
END
• 以下過程使用游標並循環通過游標的行以返回單值。
CREATE PROCEDURE TopCustomer (OUT TopCompany CHAR(35),
OUT TopValue INT)
BEGIN
DECLARE err_notfound EXCEPTION
FOR SQLSTATE '02000' ;
DECLARE curThisCust CURSOR FOR
SELECT company_name, CAST(
sum(sales_order_items.quantity *
proct.unit_price) AS INTEGER) VALUE
FROM customer
LEFT OUTER JOIN sales_order
LEFT OUTER JOIN sales_order_items
LEFT OUTER JOIN proctCREATE PROCEDURE 語句
440 Sybase IQ
GROUP BY company_name ;
DECLARE ThisValue INT ;
DECLARE ThisCompany CHAR(35) ;
SET TopValue = 0;
OPEN curThisCust ;
CustomerLoop:
LOOP
FETCH NEXT curThisCust
INTO ThisCompany, ThisValue ;
IF SQLSTATE = err_notfound THEN
LEAVE CustomerLoop ;
END IF ;
IF ThisValue > TopValue THEN
SET TopValue = ThisValue ;
SET TopCompany = ThisCompany ;
END IF ;
END LOOP CustomerLoop ;
CLOSE curThisCust ;
END
用法 CREATE PROCEDURE 在資料庫中創建過程。具有 DBA 授權的用戶可以
通過指定 owner 為其他用戶創建過程。過程由 CALL 語句激活。
過程的主體由復合語句組成。有關復合語句的信息,請參見「BEGIN...
END 語句」(第 384 頁)。
CREATE PROCEDURE 參數名必須符合其它資料庫標識符(如列名)
的規則。它們必須是有效的 SQL 數據類型(請參見第 4 章「SQL 數據
類型」)並且必須使用前綴 IN、OUT 或 INOUT。這些關鍵字具有以下
含義:
• IN 此參數是一個為過程提供值的表達式。
• OUT 此參數是一個可由過程賦值的變數。
• INOUT 此參數是一個為過程提供值的變數,並且可由過程賦值。
使用 CALL 執行過程時,不需要指定所有的參數。如果在 CREATE
PROCEDURE 語句中提供了預設值,缺少的參數會被分配預設值。如果
CALL 語句中沒有提供參數並且沒有設置預設值,則發生錯誤。
SQLSTATE 和 SQLCODE 是特殊參數, 它們在過程結束時輸出 SQLSTATE 或
SQLCODE 值(它們是 OUT 參數) 。無論是否指定 SQLSTATE 和 SQLCODE
參數,總是可以在過程調用後立即檢查 SQLSTATE 和 SQLCODE 特殊值以
測試過程的返回狀態。第 6章 SQL 語句
參考手冊 441
SQLSTATE 和 SQLCODE 特殊值在執行下一個 SQL 語句時被修改。將
SQLSTATE 或 SQLCODE 作為過程參數提供可允許返回代碼存儲在變
量中。
RESULT RESULT 子句可聲明結果集中列的數量和類型。 RESULT 關鍵字
後面括在括弧內的列表可定義結果的列名和類型。描述 CALL 語句時,嵌
入式 SQL DESCRIBE 或 ODBC SQLDescribeCol 返回此信息。列出允許使用
的數據類型的章為第 4 章「SQL 數據類型」
有關從過程返回的結果集的詳細信息,請參見 《Sybase IQ 系統管理指
南》中的第 8 章 「使用過程和批處理」。
因執行的方式不同,有些過程可返回多個結果集,並且列數也不同。例
如,下面的過程在有些情況下返回兩列,在有些情況下返回一列。
CREATE PROCEDURE names( IN formal char(1))
BEGIN
IF formal = 'n' THEN
SELECT emp_fname
FROM employee
ELSE
SELECT emp_lname,emp_fname
FROM employee
END IF
END
⑻ 如何在sql創建一條插入數據的存儲過程
1、首先需要打開SQL Server Managment管理工具,新建一個表。
⑼ 創建存儲過程sql語句
1)過程名
存儲過程的名稱,默認在當前資料庫中創建。若需要在特定資料庫中創建存儲過程,則要在名稱前面加上資料庫的名稱,即db_name.sp_name。
需要注意的是,名稱應當盡量避免選取與MySQL內置函數相同的名稱,否則會發生錯誤。
2)過程參數
存儲過程的參數列表。其中,<參數名>為參數名,<類型>為參數的類型(可以是任何有效的MySQL數據類型)。當有多個參數時,參數列表中彼此間用逗號分隔。存儲過程可以沒有參數(此時存儲過程的名稱後仍需加上一對括弧),也可以有1個或多個參數。
MySQL存儲過程支持三種類型的參數,即輸入參數、輸出參數和輸入/輸出參數,分別用IN、OUT和INOUT三個關鍵字標識。其中,輸入參數可以傳遞給一個存儲過程,輸出參數用於存儲過程需要返回一個操作結果的情形,而輸入/輸出參數既可以充當輸入參數也可以充當輸出參數。
⑽ 用SQL語句創建存儲過程
五、注意事項
:
存儲過程一般用來完成數據查詢和數據處理操作,
所以在存儲過程中不可以
使用創建資料庫對象的語句,
五、注意事項
:
存儲過程一般用來完成數據查詢和數據處理操作,
所以在存儲過程中不可以
使用創建資料庫對象的語句,
即在存儲過程中一般不能含有以下語句:
CREATE TABLE
;
CREATE VIEW
;
CREATE DEFAULT
;
CREATE RULE
;
CREATE TRIGGER
;
CREATE PROCEDURE
即在存儲過程中一般不能含有以下語句:
CREATE TABLE
;
CREATE VIEW
;
CREATE DEFAULT
;
CREATE RULE
;
CREATE TRIGGER
;
CREATE PROCEDURE