sql2005-sqlserver2005 存储过程不能返回 table吗?

问题描述

sqlserver2005 存储过程不能返回 table吗?

这是存储过程中的一段sql

select * into #TB_JFFPTB1
from
(
select TB_JingFei.JF_MC,TB_JingFeiFenPei.JFFP_ID,TB_JingFeiFenPei.JF_KYYE,
TB_ZiYuanLeiBie.ZYLB_MC,TB_JingFeiQueRen.JFQR_ID,TB_JingFeiQueRen.GMSQ_ID,TB_JingFeiQueRen.JFQR_JE
from TB_JingFei
inner join TB_JingFeiFenPei
on TB_JingFei.JF_ID=TB_JingFeiFenPei.JF_ID and TB_JingFeiFenPei.JF_LB=1
left join TB_ZiYuanLeiBie
on TB_JingFeiFenPei.ZYLB_ID=TB_ZiYuanLeiBie.ZYLB_ID
left join TB_JingFeiQueRen
on TB_JingFeiFenPei.JFFP_ID=TB_JingFeiQueRen.JFFP_ID and TB_JingFeiQueRen.JFQR_JFLB=1
and TB_JingFeiQueRen.GMSQ_ID=8

where TB_JingFei.JF_NF='2013'
) Temp
declare @sql1 varchar(8000)
set @sql1 = 'select JF_MC as 经费名称'
select @sql1 = @sql1 + ' , max(case ZYLB_MC when ''' + ZYLB_MC + ''' then isnull(JF_KYYE,0) else 0 end) [' + ZYLB_MC + '] ,
max(case ZYLB_MC when ''' + ZYLB_MC + ''' then isnull(JFQR_JE,0) else 0 end) [确认' + ZYLB_MC + '],
max(case ZYLB_MC when ''' + ZYLB_MC + ''' then JFFP_ID else 0 end) [' + ZYLB_MC + 'ID],
max(case ZYLB_MC when ''' + ZYLB_MC + ''' then JFQR_ID else 0 end) [' + ZYLB_MC + 'QRID]'
from (select distinct ZYLB_MC from #TB_JFFPTB1) as a
set @sql1 = @sql1 + ' from #TB_JFFPTB1 group by JF_MC'
exec(@sql1)

出现的问题是,在sql2008中,会输出一张表,在sql2005中却没有输出结果,不明白为什么

时间: 2024-08-31 08:02:54

sql2005-sqlserver2005 存储过程不能返回 table吗?的相关文章

ASP 调用 ORACLE存储过程并返回结果集

oracle|存储过程 ASP 调用 ORACLE存储过程并返回结果集 看过网上好多ASP调用ORACLE的方法,但是没有特好特直接的东西,所以总结各家的东西最后得出的一个自己需要的方法,感觉也比较大众所以特此发布 ###################################################oracle的存储过程################################################### --创建包头create or replace pack

asp.net结合aspnetpager使用SQL2005的存储过程分页_实用技巧

SQL2005的存储过程: 复制代码 代码如下: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[P_GetPagedReCord] (@startIndex INT, -- 开始索引号 @endindex INT, -- 结束索引号 @tblName varchar(255), -- 表名 @fldName varchar(255), -- 显示字段名 @OrderfldName varchar(255)

PostgreSQL中调用存储过程并返回数据集实例_PostgreSQL

这里用一个实例来演示PostgreSQL存储过程如何返回数据集. 1.首先准备数据表 复制代码 代码如下: //member_category create table member_category(id serial, name text, discount_rate real, base_integral integer); alter table member_category add primary key(id); alter table member_category add ch

SQL Server 7.0 入门(八)---存储过程中返回结果

server|存储过程 存储过程中返回结果 从存储过程中返回结果有三种方式: 1. 返回结果集 这是客户端应用程序返回结果的最通用的方法.结果集是通过使用SELECT语句选择数据产生的.结果集可以从永久表.临时表或局部变量中产生.将结果返回到另一个存储过程不是一种有效的方法.存储过程不能访问另一个存储过程建立的结果集. 例如从永久表中返回结果集: USE pubs GO CREATE PROCEDURE ap_CreateResultFromPermtable AS SELECT au_inam

使用Data Access Application Block 得到存储过程的返回值

access|application|存储过程     今天有位朋友问我如何在Data Access Application Block中得到存储的过程的返回值,我才发现自己以前写的文章中确实没提到这方面的问题,现在来补充一下,具体的解决方法如下: 1.首先建立一个具有返回值的存储过程,作为示例,我就简单的建一个存储过程,如下: create proc test(    @id        int)asdeclare @flag intselect * from person where id

在C#中用最简洁有效的代码执行存储过程并返回数据

存储过程|数据|执行 存储过程 p_sys_Login 定义如下: CREATE PROCEDURE p_sys_Login @argUserID varchar(20), --用户名 @argPassword varchar(20), --密码 @argResult varchar(50) OUTPUT --登录结果 AS /* ... ... */ 下面演示如何在C#中用最简洁有效的代码执行该存储过程并返回数据: /// <summary> /// 用户登录验证 /// </summ

oci 输出参数-OCI 怎么提取整型输出参数,这个参数是存储过程里返回的一个值,跟表里的字段没啥关系

问题描述 OCI 怎么提取整型输出参数,这个参数是存储过程里返回的一个值,跟表里的字段没啥关系 OCIStmtFetch()该怎么写呢,还是其他的方法. 这个输出参数是一个结果描述而已,如密码,用户名正确,返回1,错误返回0,跟表的字段没关系

toad-Oracle,Toad创建存储过程并返回结果集

问题描述 Oracle,Toad创建存储过程并返回结果集 --声明包头 CREATE OR REPLACE PACKAGE PACK_TEST AS --这个是游标 TYPE TESTCUR IS REF CURSOR; --这个是过程 PROCEDURE sp_test1 (EXAMID in VARCHAR2, P_CUR OUT TESTCUR ); END PACK_TEST; / --声明包体 CREATE OR REPLACE PACKAGE BODY PACK_TEST AS PR

我用SSH框架调用的oracle存储过程,返回好几百个字段,除了新建一个封装类,有别的好办法吗?

问题描述 我用SSH框架调用的oracle存储过程,返回好几百个字段,除了新建一个封装类,有别的好办法吗? 我用SSH框架调用的oracle存储过程,返回好几百个字段,除了新建一个封装类,有别的好办法吗?毕竟创建一个类很多个变量,前台显示也很麻烦