国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SQL server 創(chuàng)建存儲(chǔ)過(guò)程

這篇具有很好參考價(jià)值的文章主要介紹了SQL server 創(chuàng)建存儲(chǔ)過(guò)程。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

SQL Server如何創(chuàng)建存儲(chǔ)過(guò)程

??存儲(chǔ)過(guò)程: 可以理解為完成特定功能的一組 SQL 語(yǔ)句集,存儲(chǔ)在數(shù)據(jù)庫(kù)中,經(jīng)過(guò)第一次編譯,之后的運(yùn)行不需要再次編譯,用戶通過(guò)指定存儲(chǔ)過(guò)程的名字并給出參數(shù)(如果該存儲(chǔ)過(guò)程帶有參數(shù))來(lái)調(diào)用存儲(chǔ)過(guò)程。

如何創(chuàng)建存儲(chǔ)過(guò)程

??創(chuàng)建存儲(chǔ)過(guò)程可以有兩種方式:一是在 SSMS 中界面操作創(chuàng)建存儲(chǔ)過(guò)程,而后修改其中的 SQL 語(yǔ)句及存儲(chǔ)過(guò)程名稱(chēng);二是通過(guò)命令行直接編寫(xiě)創(chuàng)建存儲(chǔ)過(guò)程。
??在操作之前,得要有一個(gè)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)中將要使用存儲(chǔ)過(guò)程查詢(xún)或操作的數(shù)據(jù)表,這里以 MyDBDemo 數(shù)據(jù)庫(kù)為例,其中有一個(gè) sys_user 的用戶數(shù)據(jù)表。
sql server 創(chuàng)建存儲(chǔ)過(guò)程,數(shù)據(jù)庫(kù)的一般操作,oracle,數(shù)據(jù)庫(kù)
??1、SSMS 界面創(chuàng)建存儲(chǔ)過(guò)程:
??界面鼠標(biāo)操作創(chuàng)建存儲(chǔ)過(guò)程方便快捷,一些基礎(chǔ)的腳本不需要手動(dòng)編寫(xiě),由 SSMS 自動(dòng)生成。
??步驟: 展開(kāi)數(shù)據(jù)庫(kù)中的【可編程性】,在【存儲(chǔ)過(guò)程】上鼠標(biāo)單擊右鍵出現(xiàn)彈出菜單,點(diǎn)擊【存儲(chǔ)過(guò)程】即可彈出新的查詢(xún)窗口,里面有一些默認(rèn)的 SQL 腳本。
sql server 創(chuàng)建存儲(chǔ)過(guò)程,數(shù)據(jù)庫(kù)的一般操作,oracle,數(shù)據(jù)庫(kù)
??軟件自動(dòng)生成的存儲(chǔ)過(guò)程創(chuàng)建腳本,現(xiàn)在可以基于此修改存儲(chǔ)過(guò)程中的內(nèi)容了。
sql server 創(chuàng)建存儲(chǔ)過(guò)程,數(shù)據(jù)庫(kù)的一般操作,oracle,數(shù)據(jù)庫(kù)
??說(shuō)明: 從 第 1 行到 20 行不需要關(guān)注,這些都是一些設(shè)置和注釋說(shuō)明,第 21 行到 33 行才是存儲(chǔ)過(guò)程的主要內(nèi)容。下面將通過(guò)代碼逐行介紹這些命令。

CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> -- 這一行表示存儲(chǔ)過(guò)程的名稱(chēng), '<>' 是占位符,將其替換為存儲(chǔ)過(guò)程的名稱(chēng)
	-- 以下列出存儲(chǔ)過(guò)程的參數(shù)以及返回參數(shù),這是設(shè)置存儲(chǔ)過(guò)程有哪些參數(shù)和返回什么數(shù)據(jù)
	<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, 
	<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN -- 從這里開(kāi)始就是存儲(chǔ)過(guò)程的主體部分
	-- 這里面的內(nèi)容就是 SQL 語(yǔ)句集,可以放置許多的 SQL 增刪查改等操作腳本
END -- 這里結(jié)束存儲(chǔ)過(guò)程,表示存儲(chǔ)過(guò)程的 SQL 集在這里結(jié)束

??2、SQL 腳本創(chuàng)建存儲(chǔ)過(guò)程:
??腳本創(chuàng)建存儲(chǔ)過(guò)程就是自行編寫(xiě)基礎(chǔ)的創(chuàng)建存儲(chǔ)過(guò)程的語(yǔ)句,如上所示代碼中的內(nèi)容都是自行手動(dòng)編寫(xiě),然后執(zhí)行腳本即可創(chuàng)建好這個(gè)存儲(chǔ)過(guò)程。
??如下創(chuàng)建存儲(chǔ)過(guò)程的腳本,是傳入用戶的數(shù)據(jù)參數(shù),插入到數(shù)據(jù)庫(kù)中,而后再查詢(xún)出來(lái)展示,詳細(xì)講解請(qǐng)看注釋?zhuān)?code>SQL 腳本如下所示:

CREATE PROCEDURE InsertUser -- 這里存儲(chǔ)過(guò)程的名稱(chēng)為‘InsertUser’
	-- 輸入?yún)?shù)有userno、pwd、username、role、email,輸出參數(shù)有 count
	-- 輸入輸出參數(shù)的名稱(chēng)前面必須加上 ‘@’ ,表示其是一個(gè)變量。
	@userno nvarchar(50), --輸入?yún)?shù),用戶編碼
	@pwd nvarchar(50), -- 輸入?yún)?shù),登錄密碼
	@username nvarchar(50), -- 輸入?yún)?shù),用戶姓名
	@email nvarchar(50), -- 輸入?yún)?shù),用戶郵箱
	@count int output-- 輸出參數(shù),當(dāng)前數(shù)據(jù)表中的總數(shù)據(jù)條數(shù),這里輸出參數(shù)采用 ‘output’ 標(biāo)識(shí)
AS
BEGIN -- 從這里開(kāi)始就是存儲(chǔ)過(guò)程的主體部分
	-- 這里插入一條數(shù)據(jù)到數(shù)據(jù)表中,數(shù)據(jù)內(nèi)容來(lái)源于存儲(chǔ)過(guò)程中傳入的內(nèi)容,其中用戶角色字段 ‘[role]’ 設(shè)置默認(rèn)值為 ‘a(chǎn)dmin’
	INSERT INTO [dbo].[sys_user] ([userno],[pwd],[username],[role],[email])
     VALUES (@userno,@pwd,@username,'admin',@email);
	 -- 查詢(xún)出數(shù)據(jù)表
	 select * from [dbo].[sys_user];
	 -- 返回值總條數(shù)查詢(xún)
	 select @count = @@ROWCOUNT;
END -- 這里結(jié)束存儲(chǔ)過(guò)程,表示存儲(chǔ)過(guò)程的 SQL 集在這里結(jié)束

存儲(chǔ)過(guò)程的使用或調(diào)用

??存儲(chǔ)過(guò)程的使用需要采用關(guān)鍵字 EXEC 加上存儲(chǔ)過(guò)程名稱(chēng),而后跟隨參數(shù)的方式。

DECLARE @pdCount INT; -- 定義返回值參數(shù)
-- 通過(guò) exec <存儲(chǔ)過(guò)程名稱(chēng)> <參數(shù)列表> 調(diào)用存儲(chǔ)過(guò)程
exec [dbo].[InsertUser] @userno='user-1',@pwd='123',@username='wanger',@email='123@abccom',@count=@pdCount output
select @pdCount as '數(shù)據(jù)表總數(shù)' -- 查詢(xún)出返回值中的內(nèi)容

??執(zhí)行結(jié)果如下所示:
sql server 創(chuàng)建存儲(chǔ)過(guò)程,數(shù)據(jù)庫(kù)的一般操作,oracle,數(shù)據(jù)庫(kù)

存儲(chǔ)過(guò)程的意義

??優(yōu)點(diǎn):
??1、存儲(chǔ)過(guò)程加快系統(tǒng)運(yùn)行速度,存儲(chǔ)過(guò)程只在創(chuàng)建時(shí)編譯,以后每次執(zhí)行時(shí)不需要重新編譯。
??2、存儲(chǔ)過(guò)程可以封裝復(fù)雜的數(shù)據(jù)庫(kù)操作,簡(jiǎn)化操作流程,例如對(duì)多個(gè)表的更新,刪除等。
??3、可實(shí)現(xiàn)模塊化的程序設(shè)計(jì),存儲(chǔ)過(guò)程可以多次調(diào)用,提供統(tǒng)一的數(shù)據(jù)庫(kù)訪問(wèn)接口,改進(jìn)應(yīng)用程序的可維護(hù)性。
??4、存儲(chǔ)過(guò)程可以增加代碼的安全性,對(duì)于用戶不能直接操作存儲(chǔ)過(guò)程中引用的對(duì)象,SQL Server可以設(shè)定用戶對(duì)指定存儲(chǔ)過(guò)程的執(zhí)行權(quán)限。
??5、存儲(chǔ)過(guò)程可以降低網(wǎng)絡(luò)流量,存儲(chǔ)過(guò)程代碼直接存儲(chǔ)于數(shù)據(jù)庫(kù)中,在客戶端與服務(wù)器的通信過(guò)程中,不會(huì)產(chǎn)生大量的T_SQL代碼流量。
??缺點(diǎn):
??1、數(shù)據(jù)庫(kù)移植不方便,存儲(chǔ)過(guò)程依賴(lài)與數(shù)據(jù)庫(kù)管理系統(tǒng), SQL Server 存儲(chǔ)過(guò)程中封裝的操作代碼不能直接移植到其他的數(shù)據(jù)庫(kù)管理系統(tǒng)中。
??2、不支持面向?qū)ο蟮脑O(shè)計(jì),無(wú)法采用面向?qū)ο蟮姆绞綄⑦壿嫎I(yè)務(wù)進(jìn)行封裝,甚至形成通用的可支持服務(wù)的業(yè)務(wù)邏輯框架。
??3、代碼可讀性差,不易維護(hù)。不支持集群。

結(jié)語(yǔ)

??為什么需要存儲(chǔ)過(guò)程:效率高、降低網(wǎng)絡(luò)流量、復(fù)用性高、可維護(hù)性高、安全性高。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-729703.html

到了這里,關(guān)于SQL server 創(chuàng)建存儲(chǔ)過(guò)程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • sql 創(chuàng)建sql server數(shù)據(jù)庫(kù)文件組

    可以在建立數(shù)據(jù)庫(kù)時(shí)候創(chuàng)建 如: CREATE DATABASE MyDB ON PRIMARY ? ? ? ? ? ? ? ? ? ? ? ? ? --主文件組和主要數(shù)據(jù)文件 ? ( NAME=\\\'MyDB_Primary\\\', ? ?FILENAME= \\\'c:MyDB_Prm.mdf\\\'), FILEGROUP MyDB_FG1 ? ? ? ? ? ? ? ? ? --用戶定義文件組1 ? ( NAME = \\\'MyDB_FG1_Dat1\\\', ? ?FILENAME = \\\'c:MyDB_FG1_1.ndf\\\'), ?--次要數(shù)

    2024年02月08日
    瀏覽(94)
  • SQL Server數(shù)據(jù)庫(kù)的創(chuàng)建方法

    SQL Server數(shù)據(jù)庫(kù)的創(chuàng)建方法

    可以使用以下3種方法創(chuàng)建數(shù)據(jù)庫(kù)。 一.使用SQL Server Management Studio創(chuàng)建數(shù)據(jù)庫(kù) 二..使用CREATE DATABASE 語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)。 三.使用模板創(chuàng)建數(shù)據(jù)庫(kù) 一.使用SQL Server Management Studio創(chuàng)建數(shù)據(jù)庫(kù) 創(chuàng)建一個(gè)名為“學(xué)生選課”的學(xué)生選課管理數(shù)據(jù)庫(kù) 在 SQL Server Management Studio左側(cè),有個(gè)“對(duì)象

    2023年04月08日
    瀏覽(24)
  • Excel 2019訪問(wèn)SQL Server數(shù)據(jù)庫(kù)的實(shí)現(xiàn)過(guò)程

    Excel 2019訪問(wèn)SQL Server數(shù)據(jù)庫(kù)的實(shí)現(xiàn)過(guò)程

    源之:https://vip.kingdee.com/article/288066926977041920?productLineId=11 在日常ERP系統(tǒng)實(shí)施過(guò)程中,往往會(huì)遇到客戶的一些個(gè)性化需求,比如有些客戶習(xí)慣用Excel電子表格來(lái)查看ERP系統(tǒng)中的數(shù)據(jù),業(yè)余拓展學(xué)習(xí)了一下,借助ODBC可以實(shí)現(xiàn)這個(gè)需求。 一、ODBC數(shù)據(jù)管理和SQL數(shù)據(jù)庫(kù)之間的連接的建

    2024年02月11日
    瀏覽(30)
  • SQL Server數(shù)據(jù)庫(kù) -- 表的創(chuàng)建與管理

    SQL Server數(shù)據(jù)庫(kù) -- 表的創(chuàng)建與管理

    一、數(shù)據(jù)表的組成 二、創(chuàng)建數(shù)據(jù)表 表的創(chuàng)建 表的查看 表的增加 表的修改 表的刪除、 三、表的架構(gòu)操作 四、總結(jié) 上次博客寫(xiě)到了數(shù)據(jù)庫(kù)的創(chuàng)建與管理,但是創(chuàng)建的庫(kù)里面什么東西都沒(méi)有,現(xiàn)在我們需要在庫(kù)里面添加數(shù)據(jù)表內(nèi)容 ? 在創(chuàng)建表之前,我們需要先知道表里面有哪

    2024年02月11日
    瀏覽(23)
  • SQL Server 實(shí)驗(yàn)一 數(shù)據(jù)庫(kù)的創(chuàng)建和使用

    任務(wù)描述 本關(guān)簡(jiǎn)要介紹 SQL Server 數(shù)據(jù)庫(kù)、 SQL Server 中的系統(tǒng)數(shù)據(jù)庫(kù)和用戶數(shù)據(jù)庫(kù),根據(jù)介紹的知識(shí)完成相關(guān)選擇題。 相關(guān)知識(shí) SQL Server 簡(jiǎn)介 數(shù)據(jù)庫(kù)通常分為層次式數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)式數(shù)據(jù)庫(kù)和關(guān)系式數(shù)據(jù)庫(kù)三種。而不同的數(shù)據(jù)庫(kù)是按不同的數(shù)據(jù)結(jié)構(gòu)來(lái)聯(lián)系和組織的。在當(dāng)今的互

    2024年02月07日
    瀏覽(35)
  • sql2016創(chuàng)建鏡像數(shù)據(jù)庫(kù)時(shí)報(bào)錯(cuò)(Microsoft SQL Server, Error: 927)

    sql2016創(chuàng)建鏡像數(shù)據(jù)庫(kù)時(shí)報(bào)錯(cuò)(Microsoft SQL Server, Error: 927)

    在配置鏡像最后一步報(bào)錯(cuò):Database ‘XXX’ cannot be opened. It is in the middle of a restore. (Microsoft SQL Server, Error: 927) 解決辦法: 執(zhí)行命令 鏡像庫(kù)Mirror Server: USE MASTER; GO ALTER DATABASE SET PARTNER = ‘TCP://PrincipalServer:5022’ GO 主庫(kù)Principal server: USE MASTER; GO ALTER DATABASE SET PARTNER = ‘TCP://MirrorSe

    2024年02月05日
    瀏覽(22)
  • 數(shù)據(jù)庫(kù)實(shí)驗(yàn)——通過(guò)SQL Server Management Studio創(chuàng)建及管理數(shù)據(jù)庫(kù)

    數(shù)據(jù)庫(kù)實(shí)驗(yàn)——通過(guò)SQL Server Management Studio創(chuàng)建及管理數(shù)據(jù)庫(kù)

    (1)熟悉SQL Server Management Studio。 (2)掌握通過(guò)SQL Server Management Studio管理數(shù)據(jù)庫(kù)的方法。 (3)掌握數(shù)據(jù)庫(kù)及其物理文件的結(jié)構(gòu)關(guān)系。 (4)掌握通過(guò)SQL Server Management Studio管理數(shù)據(jù)表的方法。 1.通過(guò)SQL Server Management Studio創(chuàng)建數(shù)據(jù)庫(kù) 創(chuàng)建一個(gè)名稱(chēng)為學(xué)生管理信息Student_info數(shù)

    2024年02月08日
    瀏覽(39)
  • SQL server 創(chuàng)建存儲(chǔ)過(guò)程

    SQL server 創(chuàng)建存儲(chǔ)過(guò)程

    ?? 存儲(chǔ)過(guò)程: 可以理解為完成特定功能的一組 SQL 語(yǔ)句集,存儲(chǔ)在數(shù)據(jù)庫(kù)中,經(jīng)過(guò)第一次編譯,之后的運(yùn)行不需要再次編譯,用戶通過(guò)指定存儲(chǔ)過(guò)程的名字并給出參數(shù)(如果該存儲(chǔ)過(guò)程帶有參數(shù))來(lái)調(diào)用存儲(chǔ)過(guò)程。 如何創(chuàng)建存儲(chǔ)過(guò)程 ??創(chuàng)建存儲(chǔ)過(guò)程可以有兩種方式:一

    2024年02月07日
    瀏覽(16)
  • SQL Server實(shí)戰(zhàn)一:創(chuàng)建、分離、附加、刪除、備份數(shù)據(jù)庫(kù)

    SQL Server實(shí)戰(zhàn)一:創(chuàng)建、分離、附加、刪除、備份數(shù)據(jù)庫(kù)

    ??本文介紹基于 Microsoft SQL Server 軟件,實(shí)現(xiàn)數(shù)據(jù)庫(kù) 創(chuàng)建、分離、附加、刪除 與 備份 的方法。 目錄 1 交互式創(chuàng)建數(shù)據(jù)庫(kù) 2 Transact-SQL指定參數(shù)創(chuàng)建數(shù)據(jù)庫(kù) 3 交互式分離數(shù)據(jù)庫(kù)testbase1 4 使用系統(tǒng)存儲(chǔ)過(guò)程分離數(shù)據(jù)庫(kù)testbase2 5 數(shù)據(jù)庫(kù)文件備份:分離數(shù)據(jù)庫(kù)再?gòu)?fù)制其物理文件 6 數(shù)

    2024年04月24日
    瀏覽(92)
  • 使用Visual Studio 平臺(tái)創(chuàng)建SQL Server數(shù)據(jù)庫(kù)(一)

    使用Visual Studio 平臺(tái)創(chuàng)建SQL Server數(shù)據(jù)庫(kù)(一)

    這篇來(lái)說(shuō)說(shuō)Visual Studio 平臺(tái)怎么創(chuàng)建SQL語(yǔ)句。 1.VS2019中內(nèi)置了SQL Server,這個(gè)小型的數(shù)據(jù)庫(kù)完全可以滿足普通項(xiàng)目的開(kāi)發(fā)和調(diào)試的需要。 2.新建項(xiàng)目 3.創(chuàng)建數(shù)據(jù)庫(kù) 視圖-SQL Server對(duì)象資源管理器,打開(kāi)這個(gè)窗口,展開(kāi)SQL Server -(localdb)MSSQLLocalDB-數(shù)據(jù)庫(kù)-系統(tǒng)數(shù)據(jù)庫(kù),可以看到默認(rèn)存在

    2024年02月02日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包