我是一个新手,正在学习编写存储过程。基本上,我只想将表1的前10条记录转移至我创建的表2。但是我的代码无法插入我从表1中选择的记录。我不确定是否缺少了什么或者我的操作有误。请帮忙看看。谢谢!
注:
1.表1和表2具有相同的数据类型。
2.我需要每个列的参数,以便我能够在我的C#.net图表中调用它们。
以下是我的存储过程:
**
USE [GDW]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_BI_Get_AsiaTopTen]
AS BEGIN
DECLARE
@fyname nvarchar(120),
@fmonth nvarchar(120),
@fmonth_num int = null,
@world_area nvarchar(120) = null
SELECT TOP 10
@fyname= [FYName],
@fmonth= [FMONTH],
@fmonth_num= [FMONTH_NUM],
@world_area= [World_AREA]
FROM [dbo].[tbl_BI_FastReport1_Temp]
WHERE [World_AREA] = 'Asia'
AND [FMONTH_NUM] = '201401'
INSERT INTO [dbo].[tbl_BI_AsiaTopTen]
(
[FYName],
[FMONTH],
[FMONTH_NUM],
[World_AREA]
)
VALUES
(
@fyname,
@fmonth,
@fmonth_num,
@world_area
)
END
**
top
时,最好也使用order by
子句,因为如果没有order by
,则返回的行将是任意的。 - jpw