国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫(kù)技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫(kù) - Sql Server - sqlserver 常用存儲(chǔ)過(guò)程集錦

sqlserver 常用存儲(chǔ)過(guò)程集錦

2019-11-15 14:54mssql教程網(wǎng) Sql Server

常用存儲(chǔ)過(guò)程集錦,都是一些mssql常用的一些,大家可以根據(jù)需要選擇使用。

=================分頁(yè)========================== 

復(fù)制代碼代碼如下:


/*分頁(yè)查找數(shù)據(jù)*/ 
CREATE PROCEDURE [dbo].[GetRecordSet] 
@strSql varchar(8000),--查詢sql,如select * from [user] 
@PageIndex int,--查詢當(dāng)頁(yè)號(hào) 
@PageSize int--每頁(yè)顯示記錄 
AS 
set nocount on 
declare @p1 int 
declare @currentPage int 
set @currentPage = 0 
declare @RowCount int 
set @RowCount = 0 
declare @PageCount int 
set @PageCount = 0 
exec sp_cursoropen @p1 output,@strSql,@scrollopt=1,@ccopt=1,@rowcount=@rowCount output --得到總記錄數(shù) 
select @PageCount=ceiling(1.0*@rowCount/@pagesize) --得到總頁(yè)數(shù) 
,@currentPage=(@PageIndex-1)*@PageSize+1 
select @RowCount,@PageCount 
exec sp_cursorfetch @p1,16,@currentPage,@PageSize 
exec sp_cursorclose @p1 
set nocount off 
GO 


=========================用戶注冊(cè)============================ 
/* 
用戶注冊(cè),也算是添加吧 
*/ 
Create proc [dbo].[UserAdd] 

@loginID nvarchar(50),     --登錄帳號(hào) 
@password nvarchar(50), --密碼 
@email nvarchar(200) --電子信箱 

as 
declare @userID int --用戶編號(hào) 
--登錄賬號(hào)已經(jīng)被注冊(cè) 
if exists(select loginID from tableName where loginID = @loginID) 
begin 
return -1; 
end 
--郵箱已經(jīng)被注冊(cè) 
else if exists(select email from tableName where email = @email) 
begin 
return -2; 
end 
--注冊(cè)成功 
else 
begin 
select @userID = isnull(max(userID),100000)+1 from tableName 
insert into tableName 
(userID,loginID,[password],userName,linkNum,address,email,createTime,status) 
values 
(@userID,@loginID,@password,'','','',@email,getdate(),1) 
return @userID 
end 
==========================sql server系統(tǒng)存儲(chǔ)過(guò)程=================== 
–1.給表中字段添加描述信息 
Create table T2 (id int , name char (20)) 
GO 
EXEC sp_addextendedproperty 'MS_Description', 'Employee ID', 'user', dbo, 'table', T2, 'column', id 
EXEC sp_updateextendedproperty 'MS_Description', 'this is a test', 'user', dbo, 'table', T2, 'column', id 
–2.修改數(shù)據(jù)庫(kù)名稱(chēng) 
EXEC sp_renamedb 'old_db_name', 'new_db_name' 
–3.修改數(shù)據(jù)表名稱(chēng)和字段名稱(chēng) 
EXEC sp_rename 'old_table_name', 'new_table_name'–修改數(shù)據(jù)表名稱(chēng) 
EXEC sp_rename 'table_name.[old_column_name]', 'new_column_name', 'COLUMN'–修改字段名稱(chēng) 
–4.給定存儲(chǔ)過(guò)程名,獲取存儲(chǔ)過(guò)程內(nèi)容 
exec sp_helptext sp_name 
/*以下是有關(guān)安全控制的系統(tǒng)存儲(chǔ)過(guò)程或 SQL 語(yǔ)句,詳細(xì)語(yǔ)法查閱《聯(lián)機(jī)叢書(shū)》相關(guān)內(nèi)容*/ 
–創(chuàng)建新的 SQL Server 登錄,使用戶得以連接使用 SQL Server 身份驗(yàn)證的 SQL Server。 
EXEC sp_addlogin @loginame = '', @passwd = '', @defdb = '', @deflanguage = NULL, @sid = NULL, @encryptopt = NULL 
–使 Windows NT 用戶或組帳戶得以使用 Windows 身份驗(yàn)證連接到 SQL Server。 
EXEC sp_grantlogin @loginame = '' 
–刪除 SQL Server 登錄,以阻止使用該登錄名訪問(wèn) SQL Server。 
EXEC sp_droplogin @loginame = '' 
–阻止 Windows NT 用戶或組連接到 SQL Server。 
EXEC sp_denylogin @loginame = '' 
–從 SQL Server 中刪除用 sp_grantlogin 或 sp_denylogin 創(chuàng)建的 Windows NT 用戶或組的登錄項(xiàng)。 
EXEC sp_revokelogin @loginame = '' 
–更改登錄的默認(rèn)數(shù)據(jù)庫(kù)。 
EXEC sp_defaultdb @loginame = '', @defdb = '' 
–更改登錄的默認(rèn)語(yǔ)言。 
EXEC sp_defaultlanguage @loginame = '', @language = '' 
–添加或更改 SQL Server 登錄密碼。 
EXEC sp_password @old = '', @new = '', @loginame = '' 
–添加服務(wù)器角色新成員。 
EXEC sp_addsrvrolemember @loginame = '', @rolename = '' 
–添加服務(wù)器角色某成員。 
EXEC sp_dropsrvrolemember @loginame = '' , @rolename = '' 
–為 SQL Server 登錄或 Windows NT 用戶或組在當(dāng)前數(shù)據(jù)庫(kù)中添加一個(gè)安全帳戶,并使其能夠被授予在數(shù)據(jù)庫(kù)中執(zhí)行活動(dòng)的權(quán)限(授予默認(rèn)的“public”數(shù)據(jù)庫(kù)角色)。 
EXEC sp_grantdbaccess @loginame = '', @name_in_db = NULL 
–或 
EXEC sp_adduser @loginame = '', @name_in_db = NULL, @grpname = '' 
–從當(dāng)前數(shù)據(jù)庫(kù)中刪除安全帳戶。 
EXEC sp_revokedbaccess @name_in_db = '' 
–或 
EXEC sp_dropuser @name_in_db = '' 
–在當(dāng)前數(shù)據(jù)庫(kù)創(chuàng)建新數(shù)據(jù)庫(kù)角色。 
EXEC sp_addrole @rolename = '', @ownername = '' 
–在當(dāng)前數(shù)據(jù)庫(kù)刪除某數(shù)據(jù)庫(kù)角色。 
EXEC sp_droprole @rolename = '' 
–在當(dāng)前數(shù)據(jù)庫(kù)中添加數(shù)據(jù)庫(kù)角色新成員。 
EXEC sp_addrolemember @rolename = '', @membername = '' 
–在當(dāng)前數(shù)據(jù)庫(kù)中刪除數(shù)據(jù)庫(kù)角色某成員。 
EXEC sp_droprolemember @rolename = '', @membername = '' 
–權(quán)限分配給數(shù)據(jù)庫(kù)角色、表、存儲(chǔ)過(guò)程等對(duì)象 
–1、授權(quán)訪問(wèn) 
GRANT 
–2、拒絕訪問(wèn) 
DENY 
–3、取消授權(quán)或拒絕 
REVOKE 
–4、Sample(pubs): 
GRANT SELECT ON authors TO Limperator 
DENY SELECT ON authors TO Limperator 
REVOKE SELECT ON authors TO Limperator 

====================數(shù)據(jù)庫(kù)還原的存儲(chǔ)過(guò)程============ 

復(fù)制代碼代碼如下:


SQL code 
create proc killspid (@dbname varchar(20)) 
as 
begin 
declare @sql nvarchar(500) 
declare @spid int 
set @sql='declare getspid cursor for 
select spid 
from sysprocesses 
where dbid=db_id('''+@dbname+''')' 
exec (@sql) 
open getspid 
fetch next from getspid 
into @spid 
while @@fetch_status <>-1 
begin 
exec('kill '+@spid) 
fetch next from getspid 
into @spid 
end 
close getspid 
deallocate getspid 
end 
GO 


作用:殺掉傳入數(shù)據(jù)庫(kù)中的活動(dòng)進(jìn)程以進(jìn)行備份還原等獨(dú)占操作 

===================阿拉伯?dāng)?shù)字轉(zhuǎn)大寫(xiě)中文============= 
例:輸入12345,程序給出:壹萬(wàn)貳仟叁佰肆拾伍 
例:輸入10023040,程序給出:壹仟另貳萬(wàn)叁仟另肆拾 
解決方案之一(在SqlServer2000中測(cè)試通過(guò)): 

復(fù)制代碼代碼如下:


SQL code 
CREATE FUNCTION fun_cgnum 
(@num INT) 
RETURNS VARCHAR(100) 
AS 
BEGIN 
DECLARE @temp INT,@res INT,@i TINYINT 
DECLARE @str VARCHAR(100),@no VARCHAR(20),@unit VARCHAR(16) 
SELECT @str='',@no='另壹貳叁肆伍陸柒捌玖',@unit='拾佰仟萬(wàn)拾佰仟億' 
SET @temp=@num 
SELECT @i=0,@res=@temp%10,@temp=@temp/10 
WHILE @temp>0 
BEGIN 
IF @i=0 
SET @str=SUBSTRING(@no,@res+1,1) 
ELSE 
SET @str=SUBSTRING(@no,@res+1,1)+SUBSTRING(@unit,@i,1)+@str 
SELECT @res=@temp%10,@temp=@temp/10 
SET @i=@i+1 
END 
SET @str=SUBSTRING(@no,@res+1,1)+SUBSTRING(@unit,@i,1)+@str 
SET @str=REPLACE(@str,'另拾','另') 
SET @str=REPLACE(@str,'另佰','另') 
SET @str=REPLACE(@str,'另仟','另') 
SET @str=REPLACE(@str,'另拾','另') 
SET @str=REPLACE(@str,'另萬(wàn)','萬(wàn)') 
WHILE @i>0 
BEGIN 
SET @str=REPLACE(@str,'另另','另') 
SET @i=CHARINDEX('另另',@str) 
END 
SET @str=REPLACE(@str,'另萬(wàn)','萬(wàn)') 
SET @str=REPLACE(@str,'億萬(wàn)','億') 
IF RIGHT(@str,1)='另' 
SET @str=LEFT(@str,LEN(@str)-1) 
RETURN @str 
END 
GO 


--測(cè)試:有0和沒(méi)有0的情況 
SELECT dbo.fun_cgnum(900000000),dbo.fun_cgnum(903002051),dbo.fun_cgnum(903002050) 
PS:有興趣的朋友可以繼續(xù)考慮有小數(shù)點(diǎn)以及添加單位(元/角/分)的情況 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜视频一区 | 午夜精品一区二区三区免费视频 | 91精品国产欧美一区二区成人 | 国产一区二区综合 | 美女视频一区二区三区 | 成人免费视屏 | 国产日韩精品一区 | 久久国产精品一区 | 国产精品久久久久久久一区探花 | 日韩欧美一级 | 国产91久久久| 中文日韩在线 | 免费成人在线网站 | 欧美一级黄色片网站 | 中文字幕精品一区久久久久 | 久久久精品久久久 | 亚洲国产精品一区二区久久 | 国产精品午夜电影 | 婷婷激情五月 | 精品成人网 | 国产精品精品视频 | 久久久婷| 午夜小电影 | 丝袜美腿一区二区三区 | 久久久美女| 综合婷婷 | 天天干夜夜拍 | 毛片无码国产 | 在线欧美日韩 | 亚洲 精品 综合 精品 自拍 | 在线一区二区免费 | 精品电影| 欧美一级片 | 精品一区二区三区视频 | 国内精品一区二区 | www.天天操 | 亚洲精品综合中文字幕 | 高清一区二区 | 午夜精品一区二区三区在线播放 | 日韩av一区二区在线观看 | 99综合|