參數(shù)定義

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供東乃網(wǎng)站建設(shè)、東乃做網(wǎng)站、東乃網(wǎng)站設(shè)計(jì)、東乃網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、東乃企業(yè)網(wǎng)站模板建站服務(wù),十年東乃做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
單個(gè)參數(shù)
1 CREATE PROCEDURE HelloWorld1
2 @UserName VARCHAR(10)
3 AS
4 BEGIN
5 PRINT 'Hello' + @UserName + '!';
6 END;
7 go
1 DECLARE @RC int;
2 EXECUTE @RC = HelloWorld1 'Edward' ;
3 PRINT @RC;
4 go
HelloEdward!
IN、OUT、IN OUT
注:
SQL Server 的 OUTPUT 需要寫(xiě)在變量數(shù)據(jù)類型后面。
SQL Server 沒(méi)有 IN OUT 關(guān)鍵字
OUTPUT 已經(jīng)相當(dāng)于 IN OUT 了。
1 CREATE PROCEDURE HelloWorld2
2 @UserName VARCHAR(10),
3 @OutVal VARCHAR(10) OUTPUT,
4 @InoutVal VARCHAR(10) OUTPUT
5 AS
6 BEGIN
7 PRINT 'Hello ' + @UserName + @InoutVal + '!';
8 SET @OutVal = 'A';
9 SET @InoutVal = 'B';
10 END;
11 go
1
2 DECLARE @RC int, @OutVal VARCHAR(10), @InoutVal VARCHAR(10);
3 BEGIN
4 SET @InoutVal = '~Hi~';
5 EXECUTE @RC = HelloWorld2 'Edward', @OutVal OUTPUT, @InoutVal OUTPUT;
6 PRINT @RC;
7 PRINT '@OutVal=' + @OutVal;
8 PRINT '@InoutVal=' + @InoutVal;
9 END
10 go
Hello Edward~Hi~!
@OutVal=A
@InoutVal=B
參數(shù)的默認(rèn)值
1 CREATE PROCEDURE HelloWorld3
2 @UserName VARCHAR(10),
3 @Val1 VARCHAR(20) = ' Good Moning,',
4 @Val2 VARCHAR(20) = ' Nice to Meet you'
5 AS
6 BEGIN
7 PRINT 'Hello ' + @UserName + @Val1 + @Val2 + '!';
8 END;
9 go
1
2 DECLARE @RC int;
3 BEGIN
4 EXECUTE @RC = HelloWorld3 'Edward';
5 PRINT @RC;
6 EXECUTE @RC = HelloWorld3 'Edward', ' Good Night,';
7 PRINT @RC;
8 EXECUTE @RC = HelloWorld3 'Edward', ' Good Night,', ' Bye';
9 PRINT @RC;
10 END
11 go
Hello Edward Good Moning, Nice to Meet you!
Hello Edward Good Night, Nice to Meet you!
Hello Edward Good Night, Bye!
指定參數(shù)名稱調(diào)用
此部分使用 “參數(shù)默認(rèn)值”那一小節(jié)的存儲(chǔ)過(guò)程。
用于說(shuō)明當(dāng)最后2個(gè)參數(shù)是有默認(rèn)的時(shí)候,如何跳過(guò)中間那個(gè)。
1 DECLARE @RC int;
2 BEGIN
3 EXECUTE @RC = HelloWorld3 'Edward';
4 PRINT @RC;
5 EXECUTE @RC = HelloWorld3 'Edward', @Val1=' Good Night,';
6 PRINT @RC;
7 EXECUTE @RC = HelloWorld3 'Edward', @Val1=' Good Night,', @Val2=' Bye';
8 PRINT @RC;
9 EXECUTE @RC = HelloWorld3 'Edward', @Val2=' HeiHei ';
10 PRINT @RC;
11 END
12 go
Hello Edward Good Moning, Nice to Meet you!
Hello Edward Good Night, Nice to Meet you!
Hello Edward Good Night, Bye!
Hello Edward Good Moning, HeiHei !
1,先imp到oracle,再?gòu)膐racle轉(zhuǎn)換在sqlserver
還有一種方法,如果dmp文件比較小就可以試試,你可以把dmp文件打開(kāi),里面是一樣文本,可以直接把需要的文本(其實(shí)是一些生成表和數(shù)據(jù)的SQL,還有一些是與ORACLE數(shù)據(jù)庫(kù)相關(guān)的一些數(shù)據(jù)庫(kù)屬性,這里不用),放到sqlserver的查詢管理器中,做一些相關(guān)的語(yǔ)法改動(dòng)后執(zhí)行,就可以將數(shù)據(jù)導(dǎo)入到SQLSERVER中
2,先用oracle的imp命令或者OEM講DMP文件導(dǎo)入到ORACLE庫(kù).
1. 首先在 SQL Server 服務(wù)器級(jí)別,創(chuàng)建登陸帳戶(create login)
create login dba with password='sqlstudy', default_database=master 登陸帳戶名為:“dba”,登陸密碼:“sqlstudy”,默認(rèn)連接到的數(shù)據(jù)庫(kù):“mydb”。這時(shí)候,dba 帳戶就可以連接到 SQL Server 服務(wù)器上了。但是此時(shí)還不能訪問(wèn)數(shù)據(jù)庫(kù)中的對(duì)象(嚴(yán)格的說(shuō),此時(shí) dba 帳戶默認(rèn)是 guest 數(shù)據(jù)庫(kù)用戶身份,可以訪問(wèn) guest 能夠訪問(wèn)的數(shù)據(jù)庫(kù)對(duì)象)。
要使 dba 帳戶能夠在 mydb 數(shù)據(jù)庫(kù)中訪問(wèn)自己需要的對(duì)象,需要在數(shù)據(jù)庫(kù) mydb 中建立一個(gè)“數(shù)據(jù)庫(kù)用戶”,賦予這個(gè)“數(shù)據(jù)庫(kù)用戶” 某些訪問(wèn)權(quán)限,并且把登陸帳戶“dba” 和這個(gè)“數(shù)據(jù)庫(kù)用戶” 映射起來(lái)。習(xí)慣上,“數(shù)據(jù)庫(kù)用戶” 的名字和 “登陸帳戶”的名字相同,即:“dba”。創(chuàng)建“數(shù)據(jù)庫(kù)用戶”和建立映射關(guān)系只需要一步即可完成:
2. 創(chuàng)建數(shù)據(jù)庫(kù)用戶(create user):
create user dba for login dba with default_schema=dbo
并指定數(shù)據(jù)庫(kù)用戶“dba” 的默認(rèn) schema 是“dbo”。這意味著用戶“dba” 在執(zhí)行“select * from t”,實(shí)際上執(zhí)行的是 “select * from dbo.t”。
3. 通過(guò)加入數(shù)據(jù)庫(kù)角色,賦予數(shù)據(jù)庫(kù)用戶“dba”權(quán)限:
exec sp_addrolemember 'db_owner', 'dba'
此時(shí),dba 就可以全權(quán)管理數(shù)據(jù)庫(kù) mydb 中的對(duì)象了。
如果想讓 SQL Server 登陸帳戶“dba”訪問(wèn)多個(gè)數(shù)據(jù)庫(kù),比如 mydb2。可以讓 sa 執(zhí)行下面的語(yǔ)句:
use mydb2
go
create user dba for login dba with default_schema=dbo
go
exec sp_addrolemember 'db_owner', 'dba'
go
此時(shí),dba 就可以有兩個(gè)數(shù)據(jù)庫(kù) mydb, mydb2 的管理權(quán)限了!
4. 禁用、啟用登陸帳戶:
alter login dba disable
alter login dba enable
5. 登陸帳戶改名:
alter login dba with name=dba_tom
提示:在 SQL Server 2005 中也可以給 sa 改名。 《SQL Server 2005 安全性增強(qiáng):給超級(jí)用戶 sa 改名》
6. 登陸帳戶改密碼:
alter login dba with password='sqlstudy.com'
7. 數(shù)據(jù)庫(kù)用戶改名:
alter user dba with name=dba_tom
8. 更改數(shù)據(jù)庫(kù)用戶 defult_schema:
alter user dba with default_schema=sales
9. 刪除數(shù)據(jù)庫(kù)用戶:
drop user dba
10. 刪除 SQL Server登陸帳戶:
drop login dba
可以有兩種解決方法,
所需工具:SQL
查詢兩個(gè)count的方法1:
SELECT paperName , COUNT (1) AS 總題數(shù) , sum (CASE WHEN statu = 1 THEN 1 ELSE 0 END) AS 審核題數(shù)FROM questionGROUP BY paperNme
查詢兩個(gè)count的方法2:
select s.總題數(shù), s.審核題數(shù), s.paperNamefrom (select COUNT(1) as 總題數(shù), case when status = 1 then count(1) else 0 end as 審核題數(shù), paperNamefrom question--where papername in (select distinct paperName from question), 這個(gè)條件可以不要了group by paperNme, stauts -- status也要作為分組字段,因?yàn)樵赾ase中有使用) s
sqlserver 中 沒(méi)有 || 和 的吧。
但是java,C等編程語(yǔ)言中有他,||表示 或, 表示 與。
對(duì)應(yīng)sqlserver sql語(yǔ)句中的 or 和 and。
or 表示有一種情況真,表達(dá)式就為真,比如if(1==2||2==2){...},這時(shí)候if表達(dá)式就為真。if(1==2||1==3){...}這時(shí)候if表達(dá)式直為假。
and表示兩種情況都為真,表達(dá)式為真,比如if(1==12==2){},這時(shí)候if表達(dá)式為真,其他情況為假。
新聞名稱:sqlserver并且,sql sqlserver
分享URL:http://chinadenli.net/article24/dsgsice.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、建站公司、網(wǎng)站設(shè)計(jì)公司、云服務(wù)器、外貿(mào)建站、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)