在sql查詢中使用表變量
USE [DAF_DB]
GO
/****** Object: StoredProcedure [dbo].[PROG_WORKTASK_List] Script Date: 06/14/2010 21:14:43 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--[PROG_WORKTASK_List] 62,0,'','',0,0,'',''
-- =============================================
-- Author: guo.lin
-- Create date: 2010-03-10
-- Description: 獲取工作任務(wù)單列表,根據(jù)相關(guān)條件
-- =============================================
ALTER PROCEDURE [dbo].[PROG_WORKTASK_List]
@userID varchar(10), ---當(dāng)前用戶
@status int, ---狀態(tài)
@Leader varchar(30),
@Facilitators varchar(30),
@Level int ,
@Priority int,
@CloseDT varchar(30),
@CreatedBy varchar(30)
AS
BEGIN
declare @result table(
taskid int,
TaskName nvarchar(100),
TaskTopic nvarchar(100),
Level varchar(10),
Priority varchar(10),
Status varchar(10),
Leader varchar(100),
strLeader nvarchar(500),
Facilitators varchar(100),
cycletime varchar(10),
CloseDT datetime,
Createddt datetime,
CreatedBy varchar(30)
)
insert into @result select taskid,TaskName,TaskTopic,Level,Priority,Status,Leader,strLeader,Facilitators,cycletime,CloseDT,Createddt,CreatedBy
from Work_TaskProcess where createdby=@CreatedBy or leader like '%|'+@userid+'|%' or Facilitators like '%|'+@userid+'|%'
if (@status <>0)
delete @result where status<>@status
if (@Leader<>'')
delete @result where leader not like '%|'+@Leader+'|%'
-- if (@CreatedBy<>'')
-- delete @result where CreatedBy<>@CreatedBy
if (@Level <> 0)
delete @result where level<>@level
if (@Priority <> 0)
delete @result where Priority<>@Priority
if (@CloseDT<>'')
delete @result where CloseDT<>@CloseDT
update @result set status=b.itemtext from @result a,DAF_Item b where a.Status=b.itemvalue and b.itemtype='worktaskStatus'
update @result set Level=b.itemtext from @result a,DAF_Item b where a.Level=b.itemvalue and b.itemtype='worktaskLevel'
update @result set Priority=b.itemtext from @result a,DAF_Item b where a.Priority=b.itemvalue and b.itemtype='worktaskPriority'
update @result set createdby=b.username from @result a, DAF_useraccount b where a.createdBy=b.userid
update @result set cycletime=cycletime+'天'
select taskid,TaskName,TaskTopic,Level,Priority,Status,strLeader,Facilitators,cycletime,CloseDT,Createddt,CreatedBy from @result order by Createddt desc
END
相關(guān)文章
SQL數(shù)據(jù)庫(kù)優(yōu)化大總結(jié)之百萬(wàn)級(jí)數(shù)據(jù)庫(kù)優(yōu)化方案
網(wǎng)上關(guān)于SQL優(yōu)化的教程很多,但是比較雜亂。近日有空整理了一下,寫(xiě)出來(lái)跟大家分享一下,其中有錯(cuò)誤和不足的地方,還請(qǐng)大家糾正補(bǔ)充2015-12-12
SQL Server數(shù)據(jù)庫(kù)復(fù)制失敗的原因及解決方法
本文我們主要介紹了SQL Server數(shù)據(jù)庫(kù)中由于mssqlserver沒(méi)有停止造成數(shù)據(jù)庫(kù)復(fù)制失敗的解決方法,需要的朋友可以參考下2015-08-08
MSSQL轉(zhuǎn)MYSQL,gb2312轉(zhuǎn)utf-8無(wú)亂碼解決方法
MSSQL轉(zhuǎn)MYSQL,gb2312轉(zhuǎn)utf-8無(wú)亂碼解決方法,需要的朋友可以參考下。2010-06-06
SQL Server中的數(shù)據(jù)類型Text與varchar(max)有什么區(qū)別?
在SQL Server中,處理文本數(shù)據(jù)時(shí),我們經(jīng)常會(huì)遇到兩種數(shù)據(jù)類型:Text和varchar(max),盡管它們都可以用來(lái)存儲(chǔ)大量的文本數(shù)據(jù),如果可能的話,考慮將Text數(shù)據(jù)類型遷移到varchar(max)或nvarchar(max)數(shù)據(jù)類型,以利用新功能和潛在的性能優(yōu)勢(shì)2025-03-03
遠(yuǎn)程連接局域網(wǎng)內(nèi)的sql server 無(wú)法連接 錯(cuò)誤與解決方法
下面我們依次介紹如何來(lái)解決這三個(gè)最常見(jiàn)的連接錯(cuò)誤。2009-09-09
淺談SQL Server中統(tǒng)計(jì)對(duì)于查詢的影響分析
SQL Server查詢分析器是基于開(kāi)銷的。通常來(lái)講,查詢分析器會(huì)根據(jù)謂詞來(lái)確定該如何選擇高效的查詢路線,比如該選擇哪個(gè)索引2012-05-05
SQL Server把某個(gè)字段的數(shù)據(jù)用一條語(yǔ)句轉(zhuǎn)換成字符串
這篇文章主要介紹了SQL Server把某個(gè)字段的數(shù)據(jù)用一條語(yǔ)句轉(zhuǎn)換成字符串,本文講解使用一條語(yǔ)句把字段中的數(shù)據(jù)查詢出來(lái)并以指定分割符組成字符串,需要的朋友可以參考下2015-07-07

