資料庫管理儲存過程

2021-05-09 01:46:36 字數 2616 閱讀 6397

//建立基礎資料庫

create  procedure [dbo].[createdatabase]

-- add the parameters for the stored procedure here

@dbname varchar(100)

asbegin

declare @ex varchar(max);

declare   @s   varchar(8000)

set @s='use master; if db_id (n'''+@dbname+''') is not null execute deletedatabase '+@dbname

exec  (@s)

set @ex='use master; if db_id (n'''+@dbname+''') is not null drop database '+@dbname+'; create database '+@dbname

exec(@ex)

end//建立資料庫 有日誌及資料檔案

create  procedure  createdatabasefp 

@datafilepath   varchar(max),

@logfilepath    varchar(max),

@dbname         varchar(max) 

as  

begin

declare   @s   varchar(8000)

set @s='use master; if db_id (n'''+@dbname+''') is not null execute deletedatabase '+@dbname

exec  (@s)

set   @s   = '  

create   database   '+@dbname+'

on  

(  

name='+@dbname+',  

filename=   '''   +   @datafilepath   +   '/'+@dbname+'.mdf'',  

size=3,  

maxsize=100,  

filegrowth=10  

)  

log   on  

(  

name='+@dbname+'_log,  

filename='''   +   @logfilepath   +   '/'+@dbname+'.ldf'',    

size=1,  

maxsize=100,  

filegrowth=10  

)'      

exec   (@s)

end

//刪除資料庫

create   proc   deletedatabase  

@dbname   varchar(200) --要關閉程序的資料庫名  

asbegin      

declare   @sql     nvarchar(500)      

declare   @spid   nvarchar(20)  

declare   #tb   cursor   for  

select   spid=cast(spid   as   varchar(20))   from   master..sysprocesses   where   dbid=db_id(@dbname)  

open   #tb  

fetch   next   from   #tb   into   @spid  

while   @@fetch_status=0  

begin      

exec('kill   '+@spid)  

fetch   next   from   #tb   into   @spid  

end      

close   #tb  

deallocate   #tb

exec(n'drop database '+ @dbname)

end

//附加資料庫

create  procedure  attach_database

@datafilename   varchar(max),

@logfilename    varchar(max),

@dbname         varchar(max) 

as  

begin

declare   @s   varchar(8000)

set @s='use master; if db_id (n'''+@dbname+''') is not null execute deletedatabase '+@dbname

exec  (@s)

set   @s   = '  

create database '+@dbname+' on

(filename = '''+@datafilename+'''),

(filename = '''+@logfilename+''')

for attach'

exec   (@s)

end

資料庫 儲存過程

儲存過程,stored procedure,是在大型資料庫系統中,一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給出引數 如果該儲存過程帶有引數 來執行它。模擬於c中的函式。mysql與sqlserver是不同的。建立儲存過程 conn getconnec...

資料庫 儲存過程

在資料庫中,儲存過程屬於一種物件,是一種高效的安全的訪問資料庫的方法。下邊我們就資料庫中的儲存過程總結它的相關知識點。我們分為概述,實現和管理三個方面來總結。一,儲存過程的概述 1,概念 儲存過程 storedprocedure 是在資料庫伺服器端執行的一組t sql語句的集合,經編譯後存放在資料庫...

資料庫 儲存過程

一組為了完成特定功能的sql 語句集,經編譯後儲存在資料庫中。使用者通過指定儲存過程的名字並給出引數 如果有引數 來執行它。系統儲存過程 以sp 開頭,用來進行系統的各項設定.取得資訊.相關管理工作。本地儲存過程 使用者建立的儲存過程是由使用者建立並完成某一特定功能的儲存過程,這跟各種程式語言裡使用...