當前位置:首頁 » 編程語言 » sqlserverprocedure
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlserverprocedure

發布時間: 2022-03-01 08:41:59

sqlServer存儲過程

create
procere
prCreateSubPlan
as
begin
declare
@id
int,
@intCycle
int,
@planName
varchar(100),
@createTime
smalldatetime,
@cycleTime
int
select
@id
=
min(t_cplan_id)
from
t_cplan
while
(@id
is
not
null)
begin
select
@planName=t_plan_name,
@createTime
=
createTime,
@cycleTime
=
cycleTime
from
t_cplan
where
t_cplan_id=@id
select
@intCycle=
0
while
(@intCycle<@cycleTime)
begin
--
表t_plan
列t_plan_id是IDENTITY

insert
t_plan
(t_plan_name,
t_cplan_id,
createTime)
values
(@planName,
@id,
dateadd(day,
@intCycle,
@createTime))
select
@intCycle
=
@intCycle
+
1
end
select
@id
=
min(t_cplan_id)
from
t_cplan
where
t_cplan_id>@id
end
end
go

⑵ sqlserver 存儲過程問題

樓主沒有把表的結構貼出來,沒有類型不好判斷。
錯誤1 @str 定義後沒有初始化。
如果只是定義,不初始化,那麼它就是null。
set @str = @str + ' and 1=1 ' 這句話運行後,@str的值還是null,因為null型的varchar 『+』運算後還是null。
如果將@str初始化後,以以下的引數運行你的存儲過程:
@BusinessId = '0',
@order = 'year',
@UserId = '0'
得到的sql語句(@sql+@str)是:
SELECT Report_Id, Business_Id, Send_UserID,
Receive_UserId, State_Msg, Subject_Msg,
Content_Msg, Post_Date,Is_Open
FROM ReportMsg
where State_Msg=1 and Business_Id=0
and 1=1 and
Post_Date between Dateadd(yy,datediff(yy,0,getdate()),0)
and Dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))
order by Post_Date desc
樓主看看是不是想要的結果,不知道欄位類型不好說,因為:where State_Msg=1 and Business_Id=0中,如果State_Msg,Business_Id是varchar類型的,那麼1 和 0 就的加單引號,樓主在拼sql語句的時候得手動拼上單引號。
不知道這樣寫夠不夠明白。

⑶ 帶參數的sqlserver存儲過程的定義

@是標示符,代表是變數
一個@表示局部變數
兩個@表示是全局變數,全局變數是有伺服器定義的

⑷ 關於sqlserver存儲過程的問題

創建帶游標Cursor的存儲過程
CREATE PROCEDURE PT @t_cursor CURSOR VARYING OUTPUT AS
SET @t_cursor=CURSOR FOR
Select tid,tname FROM Teacher OPEN @t_cursor
接下來,執行一個批處理,聲明局部游標變數,執行上述過程以將游標賦值給局部變數,然後從該游標提取行。
Declare @gh char(4),@xm varchar(50), @MyCursor CURSOR
EXEC PT @MyCursor OUTPUT
WHILE (@@FETCH_STATUS =0)
BEGIN
FETCH NEXT FROM @MyCursor INTO @gh,@xm
PRINT @gh+' '+@xm
END
DEALLOCATE @MyCursor

⑸ sqlserver procere 怎麼對一個數累加賦值

根據你的應用場景

(1)可以使用游標,具體使用網路游標的使用方法

(2)while

declare@numint
set@num=0
while@num<100
begin
set@num=@num+1
end
select@num

⑹ sqlserver 存儲過程

有些符號你寫成中文的了

⑺ sqlserver存儲過程怎麼調試

最近在做vb項目的時候,用到了存儲過程的調試,現在總結一下發現單步調試存儲過程有以下2種方法:
1.這種方法自己已經做過,是可以的,如下:
a.如果目標資料庫存在存儲過程,右擊該存儲過程-修改,打開存儲過程,並在需要的地方設置斷點。(如果沒有自定義存儲過程,則需要在Sql Server 2012資料庫中創建存儲過程,完成後在裡面設置斷點);
b.另外開啟一個新建查詢窗口,寫入調用代碼:例如   exec BillManageInputProc '主單1','0111111','0111112','121','legend','2014-09-24','001','2014-09-24','1','市場部','0' ,單擊 調試按鈕 啟動存儲過程的調試;
c.單擊 F 11 進行逐句調試。
2.在vs2010調試存儲過程步驟如下:
首先,打開vs,點擊 視圖-->伺服器資源管理器
http://www.cnblogs.com/caishiquan/p/4050237.html

⑻ sqlserver存儲過程怎麼學

什麼是存儲過程? q 存儲過程(procere)類似於C語言中的函數 q 用來執行管理任務或應用復雜的業務規則 q 存儲過程可以帶參數,也可以返回結果 q 存儲過程可以包含數據操縱語句、變數、邏輯 控制語句等 存儲過程的優點 (1)執行速度快。

⑼ sqlserver 存儲過程的解釋。

這三個是自定義變數,@sType 、@iPKID 、@iTimes都是變數名,varchar、int 是變數屬性 ,varchar是字元型的,長度為10;int是整型,不用定義長度的。

⑽ sqlserver存儲過程返回out參數類型

SQL2008可用表類型
SQL2005以上版本可用xml類型

之前的版本返回結果集

其它引用時可用臨時表或表變數接收結果集