當前位置:首頁 » 存儲配置 » sqlserver調用存儲

sqlserver調用存儲

發布時間: 2022-09-05 01:12:34

sqlserver··存儲過程里如何調用另外的存儲過程,被調用的存儲過程名以參數的方式傳入

exec ('exec '+存儲過程名參數)

② sqlserver 鏈接伺服器調用存儲過程

加入 我創建一個存儲過程:
create porc AB_CDE
@A int,
@B int
as
這裡面就是內容了
就在陣容裡面具體 操作 存儲過程~~~~~~~~

給一個例子:

--插入時要判斷是否重復插入
declare @id int
declare @sNo varchar(100)
declare @sName varchar(100)
declare @sex varchar(10)
declare @jiguan varchar(100)
declare @gongzuodanwei varchar(200)
declare @wu varchar(100)
declare @tongxundi varchar(200)
declare @youzhengbianma varchar(100)
declare @lianxidianhua varchar(100)
declare @yidongdianhua varchar(100)
declare @dianziyouxiang varchar(100)
declare @shenfenzheng varchar(100)
declare @chushengriqi datetime
declare @xueli varchar(100)
declare @biyexuexiao varchar(100)
declare @biyezhuanye varchar(100)
declare @biyenianyue datetime
declare @xuewei varchar(100)
declare @mingzhu varchar(100)
declare @zhengmianmao varchar(100)
declare @regDate datetime
declare @result int
set @result=0
set @regDate=getdate()
begin tran
declare cur cursor for select 學號,姓名,性別,籍貫,工作單位,職務,通訊地址,郵政編碼,聯系電話,行動電話,電子郵箱,身份證號碼,出生日期,學歷,畢業學校,畢業專業名稱,畢業年月,學位,民族,政治面貌 from #tmp
open cur
fetch next from cur into @sNo,@sName,@sex,@jiguan,@gongzuodanwei,@wu,@tongxundi,@youzhengbianma,@lianxidianhua,@yidongdianhua,@dianziyouxiang,@shenfenzheng,@chushengriqi,@xueli,@biyexuexiao,@biyezhuanye,@biyenianyue,@xuewei,@mingzhu,@zhengmianmao

while @@fetch_status=0
begin
--學生在學生表中不存在才插入
if not exists (select 1 from vtd02 where 學號=@sNo)
begin
--插入學生資料
exec @id=PTD02_Insert @F01=@sName,@F02=@sex,@F36=@sNo,@FIDTB01=@classId,@F32=10,@F05=@jiguan,
@F17=@gongzuodanwei,@F15=@wu,@F11=@tongxundi,
@F07=@youzhengbianma,@F10=@lianxidianhua,@F09=@yidongdianhua,
@F08=@dianziyouxiang,@F18=@shenfenzheng,@F06=@chushengriqi,
@F43=@xueli,@F12=@biyexuexiao,@F13=@biyezhuanye,
@F14=@biyenianyue,@F44=@xuewei,@F04=@mingzhu,@F45=@zhengmianmao
--插入學生帳號
exec PUB02_Insert @F01=@sNo,@F02=@password,@FIDUB01=3,@FIDF03=@id,@F04=1,@F05=@regDate

fetch next from cur into @sNo,@sName,@sex,@jiguan,@gongzuodanwei,@wu,@tongxundi,@youzhengbianma,@lianxidianhua,@yidongdianhua,@dianziyouxiang,@shenfenzheng,@chushengriqi,@xueli,@biyexuexiao,@biyezhuanye,@biyenianyue,@xuewei,@mingzhu,@zhengmianmao

end
else
begin
fetch next from cur into @sNo,@sName,@sex,@jiguan,@gongzuodanwei,@wu,@tongxundi,@youzhengbianma,@lianxidianhua,@yidongdianhua,@dianziyouxiang,@shenfenzheng,@chushengriqi,@xueli,@biyexuexiao,@biyezhuanye,@biyenianyue,@xuewei,@mingzhu,@zhengmianmao
end
end
close cur
deallocate cur
if @@error<>0 rollback tran
commit tran

上面比如是一個存儲過程。
然後: exec PUB02_Insert @F01=@sNo,@F02=@password,@FIDUB01=3,@FIDF03=@id,@F04=1,@F05=@regDate
這個就是在上面掉用的存儲過程。 exec 存儲過程name 具體參數

如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!

vaela

java調用Sqlserver的存儲過程的問題!!!! (有項目開發經驗者請進!!為了完成每日任務的讓避讓)

事務包含在存儲過程中,你詳細看一下事務的級別以及事務的生存周期

④ java 調用SqlServer 2000存儲過程的問題

以下兩種:
CallableStatement stat = con.prepareCall("call procname(?,?)");
stat.execute()
or
PrepareStatment stat = con.prepareCall("Exec procname ?,?");
rs = stat.executeQuery();

視圖調用同表一樣!,這個問題記得之前的遠標學到過的,希望對你有所幫助
追問
我調用是沒有問題的,只是調用過程中存過沒有運行結束,execute()語句就跳出來了,實際上存過還在運行

⑤ sql server 存儲過程如何調用存儲過程

調用存儲過程demo(無參數的存儲)
進入查詢界面輸入以下內容
exec
demo----執行存儲過程

⑥ 在Net下調用SqlServer2k中存儲過程

.Net下調用SqlServer2k中存儲過程
.Net下調用SqlServer2k中存儲過程
首先,在SqlServer中創建存儲過程,在調用時分為有參數和沒有參數兩種情況,首先,在SqlServer中創建存儲過程,在調用時分為有參數和沒有參數兩種情況,
先就簡單的沒有參數的情況簡要的介紹:先就簡單的沒有參數的情況簡要的介紹:
假設存儲過程如下:
CREATE
PROC
SelectAll假設存儲過程如下:
CREATE
PROC
SelectAll
AS
AS
SELECT
*
FROM
StudentInf
SELECT
*
FROM
StudentInf
則此sp的調用如下:則此sp的調用如下:
SqlCommand
selectCMD
=
new
SqlCommand(「SelectAll」,
conn);
SqlCommand
selectCMD
=
new
SqlCommand(「SelectAll」,
conn);
//conn
為SqlConnection
//conn為SqlConnection
selectCMD.CommandType
=
CommandType.StoredProcere;
selectCMD.CommandType
=
CommandType.StoredProcere;
如果需要將結果集加到某個DataAdapter上,則可如下:如果需要將結果集加到某個DataAdapter上,則可如下:
SqlDataAdapter
stuDA
=
new
SqlDataAdapter();
SqlDataAdapter
stuDA
=
new
SqlDataAdapter();
stuDa.SelectCommand
=
selectCMD;
stuDa.SelectCommand
=
selectCMD;
如果有參數:create
proc
andSelect如果有參數:create
proc
andSelect
@StudentId
varchar(10),
@StudentId
varchar(10),
@StudentName
varchar(10),
@StudentName
varchar(10),
As
As
Select
*
from
StudentInf
where
StudentId
=
@StudentId
and
StudentName
=
@StudentName
Select
*
from
StudentInf
where
StudentId
=
@StudentId
and
StudentName
=
@StudentName
則參數可以如下添加:則參數可以如下添加:
selectCMD.Parameters.Add(
「@StudentId
」,
SqlDbType.NVarChar,
10);
selectCMD.Parameters.Add(
「@StudentId
」,
SqlDbType.NVarChar,
10);
selectCMD.Parameters.Add(
「@StudentName
」,
SqlDbType.NvarChar,
10);
selectCMD.Parameters.Add(
「@StudentName
」,
SqlDbType.NvarChar,
10);
如果只有一個參數,也可以這樣賦值:如果只有一個參數,也可以這樣賦值:
SqlParameters
onePara
=
selectCMD.Parameters.Add(
「@StudentId
」,
SqlDbType.NVarChar,
10);
SqlParameters
onePara
=
selectCMD.Parameters.Add(
「@StudentId
」,
SqlDbType.NVarChar,
10);
onePara.Value
=

a
string

onePara.Value
=

a
string

⑦ 如何調用存儲過程sqlserver

EXEC 存儲過程名。有參數的就 EXEC 存儲過程名[參數1],[參數2]...。如:

EXECtestProc
EXECtestProc@id,@type

⑧ SqlServer帶參存儲過程的調用

set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '
from [' + @tblName + '] where ' + @strWhere + ' ' + @strOrder
else

set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '
from ['+ @tblName + '] '+ @strOrder--如果是第一頁就執行以上代碼,這樣會加快執行速度

上面兩個from前有全形符號,別換行改到一起就可以了
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from [' + @tblName + '] where ' + @strWhere + ' ' + @strOrder
else

set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ['+ @tblName + '] '+ @strOrder--如果是第一頁就執行以上代碼,這樣會加快執行速度

⑨ sqlserver調用存儲過程返回的結果集,怎麼插入到臨時表裡面,請教語法是怎樣的。

存儲過程中創建臨時表,然後select * into 臨時表 from 數據表
不過有個問題,在存儲過城中創建臨時表的話,根本就不能對它進行操作,會提示不存在的,所以要麼就直接建一個表,在存儲過程中插入數據時先清空表就好了

⑩ node.js調用sqlserver的存儲過程

node.js訪問sqlserver 使用mssql模塊。
地址:"https://github.com/patriksimek/node-mssql
var mssql =require("mssql") ;
--------------------
sql.connect(config, function (err) {
if (err) {
return callback(err);
}

var request = new sql.Request();
// request.input('stuName', sql.VarChar(50),stuName);
// request.input('age', sql.Int,parseInt(age));
request.execute('usp_SelectStudentsAll', function (err, recordsets, returnValue) {
if (err) {

return callback(err);
}
console.log(recordsets.length); // count of recordsets returned by the procere
console.log(recordsets[0].length); // count of rows contained in first recordset
console.log(returnValue); // procere return value
console.log(recordsets.returnValue); // same as previous line
callback(err, recordsets, returnValue);

});
});

熱點內容
我的表姐迪克電腦密碼多少 發布:2025-01-10 03:27:40 瀏覽:766
主機訪問P 發布:2025-01-10 03:17:09 瀏覽:755
滴滴出行腳本 發布:2025-01-10 03:17:03 瀏覽:743
安卓扁口有線耳機哪個好 發布:2025-01-10 03:12:06 瀏覽:643
cubemx中的時鍾如何配置 發布:2025-01-10 03:09:51 瀏覽:726
電腦頁面怎麼設置密碼 發布:2025-01-10 03:05:41 瀏覽:878
mp4加密提取 發布:2025-01-10 03:05:39 瀏覽:838
我的世界伺服器地址後綴 發布:2025-01-10 02:55:40 瀏覽:522
百分30利潤怎麼演算法 發布:2025-01-10 02:47:26 瀏覽:964
怎麼查看已連接的wifi密碼 發布:2025-01-10 02:45:59 瀏覽:24