--1 create table T(id int, name varchar(10)) insert T select 1, 'AA' insert T select 2, 'BB' insert T select 3, 'CC' insert T select 4, 'DD' insert T select 5, 'EE' go --2 create proc WC_XM as select * from T go --3定义一个与返回结果结构一样的表 create table #T(id int, name varchar(10)) go --4 insert #T exec WC_XM go --5 select count(*) from #T--6删除环境 drop table T, #T
--这样就可以了呀:) EXEC WC_XM select @@rowcount
楼主,是要建视图吧 create view test as select a.name,b.name1 from a inner join b on a.id=b.id --以后查询时: select * from test
举个例子: 已经建立了:WC_XM 存储过程 CREATE PROC DBO.[WC_XM] @BH NVARCHAR(50),@BMBH NVARCHAR(50) AS SET NOCOUNT ON SELECT A.* FROM 人员 A INNER JOIN 人员安排 B ON A.档案号=B.档案号 WHERE DATEDIFF(DD,GETDATE(),CAST(A.有效期 AS DATETIME))<=30 AND B.状态<>'离职' AND A.岗位='管理' and b.部门<>'后勤' and ......(还有很多)需要建立另一个存储过程:XM_1 要求: 如果上面存储过程内有4个记录 则返回: “本月查询有4个记录” 如果没有记录,则返回 “本月需要安排人员外出” 如果不能直接用WC_XM, 就这样 IF exists(SELECT A.* FROM 人员 A INNER JOIN 人员安排 B ON A.档案号=B.档案号 WHERE DATEDIFF(DD,GETDATE(),CAST(A.有效期 AS DATETIME))<=30 AND B.状态<>'离职' AND A.岗位='管理' and b.部门<>'后勤' and ......(还有很多)) begin select '本月查询有'+(SELECT count(a.*) FROM 人员 A INNER JOIN 人员安排 B ON A.档案号=B.档案号 WHERE DATEDIFF(DD,GETDATE(),CAST(A.有效期 AS DATETIME))<=30 AND B.状态<>'离职' AND A.岗位='管理' and b.部门<>'后勤' and ......(还有很多))+'条记录' end else select “本月需要安排人员外出” 这样是不是很烦的?简单的有没有啊?
declare @i int select * into #临时表名 from 表名 set @i=count(1) from #临时表名 print @i
goselect title_id, title into #T from titlesselect * from #T
是存储过程
EXEC WC_XM
返回5条记录
WC_XM就是有很多条件,很烦的,所以求怎么简单点
我就是想知道存储过程中WC_XM 中有几条记录,如果能像临时表那样用,那可太感谢了。
create table T(id int, name varchar(10))
insert T select 1, 'AA'
insert T select 2, 'BB'
insert T select 3, 'CC'
insert T select 4, 'DD'
insert T select 5, 'EE'
go
--2
create proc WC_XM
as
select * from T
go
--3定义一个与返回结果结构一样的表
create table #T(id int, name varchar(10))
go
--4
insert #T
exec WC_XM
go
--5
select count(*) from #T--6删除环境
drop table T, #T
EXEC WC_XM
select @@rowcount
create view test
as
select a.name,b.name1 from a inner join b on a.id=b.id
--以后查询时:
select * from test
已经建立了:WC_XM 存储过程
CREATE PROC DBO.[WC_XM] @BH NVARCHAR(50),@BMBH NVARCHAR(50) AS
SET NOCOUNT ON
SELECT A.*
FROM 人员 A INNER JOIN 人员安排 B ON A.档案号=B.档案号
WHERE DATEDIFF(DD,GETDATE(),CAST(A.有效期 AS DATETIME))<=30 AND B.状态<>'离职'
AND A.岗位='管理' and b.部门<>'后勤' and ......(还有很多)需要建立另一个存储过程:XM_1
要求:
如果上面存储过程内有4个记录
则返回:
“本月查询有4个记录”
如果没有记录,则返回
“本月需要安排人员外出” 如果不能直接用WC_XM,
就这样
IF exists(SELECT A.*
FROM 人员 A INNER JOIN 人员安排 B ON A.档案号=B.档案号
WHERE DATEDIFF(DD,GETDATE(),CAST(A.有效期 AS DATETIME))<=30 AND B.状态<>'离职'
AND A.岗位='管理' and b.部门<>'后勤' and ......(还有很多))
begin
select '本月查询有'+(SELECT count(a.*)
FROM 人员 A INNER JOIN 人员安排 B ON A.档案号=B.档案号
WHERE DATEDIFF(DD,GETDATE(),CAST(A.有效期 AS DATETIME))<=30 AND B.状态<>'离职'
AND A.岗位='管理' and b.部门<>'后勤' and ......(还有很多))+'条记录'
end
else
select “本月需要安排人员外出” 这样是不是很烦的?简单的有没有啊?
select * into #临时表名 from 表名
set @i=count(1) from #临时表名
print @i