在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:    获取工作任务单列表,根据相关条件
--
 =============================================
ALTER   PROCEDURE   [ dbo ] . [ PROG_WORKTASK_List ]  
    
@userID   varchar ( 10 ),     -- -当前用户
     @status   int ,     -- -状态
     @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


复制代码

 

本文转自火地晋博客园博客,原文链接:http://www.cnblogs.com/yelaiju/archive/2010/06/14/1758394.html,如需转载请自行联系原作者

目录
相关文章
|
9天前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过使用 MongoDB Connector for BI 和 JDBC,开发者可以在 Java 中使用 SQL 语法查询 MongoDB 数据库。这种方法对于熟悉 SQL 的团队非常有帮助,能够快速实现对 MongoDB 数据的操作。同时,也需要注意到这种方法的性能和功能限制,根据具体应用场景进行选择和优化。
36 9
|
29天前
|
SQL 存储 人工智能
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
Vanna 是一个开源的 Python RAG(Retrieval-Augmented Generation)框架,能够基于大型语言模型(LLMs)为数据库生成精确的 SQL 查询。Vanna 支持多种 LLMs、向量数据库和 SQL 数据库,提供高准确性查询,同时确保数据库内容安全私密,不外泄。
105 7
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
|
2月前
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
39 8
|
2月前
|
SQL 安全 PHP
PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全
本文深入探讨了PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全。
65 4
|
2月前
|
SQL 监控 关系型数据库
SQL语句当前及历史信息查询-performance schema的使用
本文介绍了如何使用MySQL的Performance Schema来获取SQL语句的当前和历史执行信息。Performance Schema默认在MySQL 8.0中启用,可以通过查询相关表来获取详细的SQL执行信息,包括当前执行的SQL、历史执行记录和统计汇总信息,从而快速定位和解决性能瓶颈。
|
2月前
|
SQL 存储 缓存
如何优化SQL查询性能?
【10月更文挑战第28天】如何优化SQL查询性能?
169 10
|
2月前
|
SQL 关系型数据库 MySQL
|
3月前
|
SQL 数据库 开发者
功能发布-自定义SQL查询
本期主要为大家介绍ClkLog九月上线的新功能-自定义SQL查询。
|
2月前
|
SQL 关系型数据库 MySQL
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
mysql编写sql脚本:要求表没有主键,但是想查询没有相同值的时候才进行插入
37 0
|
3月前
|
SQL 数据可视化 BI
SQL语句及查询结果解析:技巧与方法
在数据库管理和数据分析中,SQL语句扮演着至关重要的角色