---------------------------------资产负债表-----------------------------------CREATE PROCEDURE T0010
--AS
DECLARE
@P_IND_ID varchar(6), --科目代号
@P_ORG_ID char(8), --公司代码
@P_RPT_YR char(4), --报告年度
@P_RPT_PRD char(4), --报告时段
@P_A0010 numeric(18,4), --货币资金
@P_A0020 numeric(18,4), --短期投资
@P_A0030 numeric(18,4), --应收票据
@P_A0040 numeric(18,4), --应收帐款
@P_A0050 numeric(18,4), --其他应收帐款
@P_A0060 numeric(18,4), --存货
@P_A0070 numeric(18,4), --其他流动资产
@P_A0080 numeric(18,4), --流动资产合计
@P_A0090 numeric(18,4), --固定资产原值
@P_A0100 numeric(18,4), --累计折旧
@P_A0110 numeric(18,4), --固定资产净值
@P_A0120 numeric(18,4), --在建工程
@P_A0130 numeric(18,4), --其他固定资产
@P_A0140 numeric(18,4), --固定资产合计
@P_A0150 numeric(18,4), --递延税款借项
@P_A0160 numeric(18,4), --资产总计
@P_A0170 numeric(18,4), --短期借款
@P_A0180 numeric(18,4), --应付票据
@P_A0190 numeric(18,4), --应付帐款
@P_A0200 numeric(18,4), --其他应付款
@P_A0210 numeric(18,4), --其他流动负债
@P_A0220 numeric(18,4), --流动负债合计
@P_A0230 numeric(18,4), --长期借款
@P_A0240 numeric(18,4), --应付债券
@P_A0250 numeric(18,4), --长期应付款
@P_A0260 numeric(18,4), --其他长期负债
@P_A0270 numeric(18,4), --长期负债合计
@P_A0280 numeric(18,4), --负债合计
@P_A0290 numeric(18,4), --少数股东权益合计
@P_A0300 numeric(18,4), --股本
@P_A0310 numeric(18,4), --资本公积金
@P_A0320 numeric(18,4), --盈余公积
@P_A0330 numeric(18,4), --未确认的投资损失
@P_A0340 numeric(18,4), --外币报表折算差额
@P_A0350 numeric(18,4), --未分配利润
@P_A0360 numeric(18,4), --股东权益总计
@P_A0370 numeric(18,4) --负债和股东权益总计---------------查询数据---------------
SELECT
@P_ORG_ID=F0010
,@P_RPT_YR=SUBSTRING(F1050,1,4)
,@P_RPT_PRD=SUBSTRING(F1050,5,4)
,@P_A0010=F0060
,@P_A0020=F0070
,@P_A0030=F0100
,@P_A0040=F0130
,@P_A0050=F0200
,@P_A0060=F0230
,@P_A0070=F0280
,@P_A0080=F0290
,@P_A0090=F0370
,@P_A0100=F0380
,@P_A0110=F0390
,@P_A0120=F0410
,@P_A0130=F1740
,@P_A0140=F0440
,@P_A0150=F0530
,@P_A0160=F0540
,@P_A0170=F0570
,@P_A0180=F0580
,@P_A0190=F0590
,@P_A0200=F0670
,@P_A0210=F0700
,@P_A0220=F0710
,@P_A0230=F0730
,@P_A0240=F0740
,@P_A0250=F0750
,@P_A0260=F0770
,@P_A0270=F0780
,@P_A0280=F0810
,@P_A0290=F0820
,@P_A0300=F0840
,@P_A0310=F0850
,@P_A0320=F0860
,@P_A0330=F0940
,@P_A0340=F0890
,@P_A0350=F0880
,@P_A0360=F0900
,@P_A0370=F0910
FROM yczealot.test.dbo.STK_D_BS WHERE [object_name]='母公司报表'---------------插入数据---------------INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0010',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0010)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0020',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0020)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0030',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0030)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0040',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0040)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0050',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0050)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0060',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0060)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0070',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0070)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0080',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0080)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0090',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0090)GO
上面的语句中,查询的语句不止一条,怎么能循环插入查询结果?我想使用游标,但是提示在 游标声明 中不允许使用 变量赋值,有什么别的办法啊?
--AS
DECLARE
@P_IND_ID varchar(6), --科目代号
@P_ORG_ID char(8), --公司代码
@P_RPT_YR char(4), --报告年度
@P_RPT_PRD char(4), --报告时段
@P_A0010 numeric(18,4), --货币资金
@P_A0020 numeric(18,4), --短期投资
@P_A0030 numeric(18,4), --应收票据
@P_A0040 numeric(18,4), --应收帐款
@P_A0050 numeric(18,4), --其他应收帐款
@P_A0060 numeric(18,4), --存货
@P_A0070 numeric(18,4), --其他流动资产
@P_A0080 numeric(18,4), --流动资产合计
@P_A0090 numeric(18,4), --固定资产原值
@P_A0100 numeric(18,4), --累计折旧
@P_A0110 numeric(18,4), --固定资产净值
@P_A0120 numeric(18,4), --在建工程
@P_A0130 numeric(18,4), --其他固定资产
@P_A0140 numeric(18,4), --固定资产合计
@P_A0150 numeric(18,4), --递延税款借项
@P_A0160 numeric(18,4), --资产总计
@P_A0170 numeric(18,4), --短期借款
@P_A0180 numeric(18,4), --应付票据
@P_A0190 numeric(18,4), --应付帐款
@P_A0200 numeric(18,4), --其他应付款
@P_A0210 numeric(18,4), --其他流动负债
@P_A0220 numeric(18,4), --流动负债合计
@P_A0230 numeric(18,4), --长期借款
@P_A0240 numeric(18,4), --应付债券
@P_A0250 numeric(18,4), --长期应付款
@P_A0260 numeric(18,4), --其他长期负债
@P_A0270 numeric(18,4), --长期负债合计
@P_A0280 numeric(18,4), --负债合计
@P_A0290 numeric(18,4), --少数股东权益合计
@P_A0300 numeric(18,4), --股本
@P_A0310 numeric(18,4), --资本公积金
@P_A0320 numeric(18,4), --盈余公积
@P_A0330 numeric(18,4), --未确认的投资损失
@P_A0340 numeric(18,4), --外币报表折算差额
@P_A0350 numeric(18,4), --未分配利润
@P_A0360 numeric(18,4), --股东权益总计
@P_A0370 numeric(18,4) --负债和股东权益总计---------------查询数据---------------
SELECT
@P_ORG_ID=F0010
,@P_RPT_YR=SUBSTRING(F1050,1,4)
,@P_RPT_PRD=SUBSTRING(F1050,5,4)
,@P_A0010=F0060
,@P_A0020=F0070
,@P_A0030=F0100
,@P_A0040=F0130
,@P_A0050=F0200
,@P_A0060=F0230
,@P_A0070=F0280
,@P_A0080=F0290
,@P_A0090=F0370
,@P_A0100=F0380
,@P_A0110=F0390
,@P_A0120=F0410
,@P_A0130=F1740
,@P_A0140=F0440
,@P_A0150=F0530
,@P_A0160=F0540
,@P_A0170=F0570
,@P_A0180=F0580
,@P_A0190=F0590
,@P_A0200=F0670
,@P_A0210=F0700
,@P_A0220=F0710
,@P_A0230=F0730
,@P_A0240=F0740
,@P_A0250=F0750
,@P_A0260=F0770
,@P_A0270=F0780
,@P_A0280=F0810
,@P_A0290=F0820
,@P_A0300=F0840
,@P_A0310=F0850
,@P_A0320=F0860
,@P_A0330=F0940
,@P_A0340=F0890
,@P_A0350=F0880
,@P_A0360=F0900
,@P_A0370=F0910
FROM yczealot.test.dbo.STK_D_BS WHERE [object_name]='母公司报表'---------------插入数据---------------INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0010',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0010)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0020',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0020)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0030',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0030)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0040',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0040)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0050',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0050)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0060',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0060)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0070',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0070)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0080',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0080)INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0090',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0090)GO
上面的语句中,查询的语句不止一条,怎么能循环插入查询结果?我想使用游标,但是提示在 游标声明 中不允许使用 变量赋值,有什么别的办法啊?
解决方案 »
- 如何去掉重复批次
- 计算总数的问题
- 已用cet递归查询得到结果,但怎么将这些结果做为一个子查询去用
- 怎么在sql语句里替换replace("'","''")把单引号变成双引号
- 新手请教前辈几个sql2005开发版的问题,谢谢!
- SQL server2000的JOB执行出错
- 怎样用sql语句来进行excel或文本文件导入导出操作(必须是用语句来进行),在线等,请各位高手帮帮忙
- 虽然简单,但是发现不少人都不知道
- 兄弟们还记得sqlserver6.5吗?*******************blackwh*********************
- 100分的问题---如何通过应用程序在sql server建库?
- sqlserver2000中支持变量的最大长度是多少?
- sql server中,如何将诸如 "34元" 这个字符串变成数值 34 的方法?谢谢了.
SELECT ... FROM yczealot.test.dbo.STK_D_BS WHERE [object_name]='母公司报表'
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(...)
SELECT ... FROM yczealot.test.dbo.STK_D_BS WHERE [object_name]='母公司报表'
是可以,但是必须加union all,这样实际上是执行了多次查询,效率不行,现在需要的是一次查询,多次插入,查询的结果有很多条,因为在查询中使用了变量,又不好使用游标,怎么办?
----变量定义略
----定义游标
declare cursor1 CURSOR STATIC FOR
SELECT
@P_ORG_ID=F0010
,@P_RPT_YR=SUBSTRING(F1050,1,4)
,@P_RPT_PRD=SUBSTRING(F1050,5,4)
,@P_A0010=F0060
,@P_A0020=F0070
,@P_A0030=F0100
,@P_A0040=F0130
,@P_A0050=F0200
,@P_A0060=F0230
,@P_A0070=F0280
,@P_A0080=F0290
,@P_A0090=F0370
,@P_A0100=F0380
,@P_A0110=F0390
,@P_A0120=F0410
,@P_A0130=F1740
,@P_A0140=F0440
,@P_A0150=F0530
,@P_A0160=F0540
,@P_A0170=F0570
,@P_A0180=F0580
,@P_A0190=F0590
,@P_A0200=F0670
,@P_A0210=F0700
,@P_A0220=F0710
,@P_A0230=F0730
,@P_A0240=F0740
,@P_A0250=F0750
,@P_A0260=F0770
,@P_A0270=F0780
,@P_A0280=F0810
,@P_A0290=F0820
,@P_A0300=F0840
,@P_A0310=F0850
,@P_A0320=F0860
,@P_A0330=F0940
,@P_A0340=F0890
,@P_A0350=F0880
,@P_A0360=F0900
,@P_A0370=F0910
FROM yczealot.test.dbo.STK_D_BS WHERE [object_name]='母公司报表'
open cursor1
fetch next from cursor1 into @P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0010=F0060,@P_A0020=F0070,@P_A0030=F0100,@P_A0040=F0130,@P_A0050=F0200,@P_A0060=F0230,@P_A0070=F0280,@P_A0080=F0290,@P_A0090=F0370,@P_A0100=F0380,@P_A0110=F0390,@P_A0120=F0410,@P_A0130=F1740,@P_A0140=F0440,@P_A0150=F0530,@P_A0160=F0540,@P_A0170=F0570,@P_A0180=F0580,@P_A0190=F0590,@P_A0200=F0670,@P_A0210=F0700,@P_A0220=F0710,@P_A0230=F0730,@P_A0240=F0740,@P_A0250=F0750,@P_A0260=F0770,@P_A0270=F0780,@P_A0280=F0810,@P_A0290=F0820,@P_A0300=F0840,@P_A0310=F0850,@P_A0320=F0860,@P_A0330=F0940,@P_A0340=F0890,@P_A0350=F0880,@P_A0360=F0900,@P_A0370=F0910
while @@fetch_status = 0
begin
set @P_RPT_YR=SUBSTRING(@P_RPT_YR,1,4)
set @P_RPT_PRD=SUBSTRING(@P_RPT_PRD,5,4)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0010',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0010)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0020',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0020)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0030',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0030)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0040',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0040)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0050',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0050)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0060',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0060)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0070',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0070)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0080',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0080)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0090',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0090)
fetch next from cursor1 into @P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0010=F0060,@P_A0020=F0070,@P_A0030=F0100,@P_A0040=F0130,@P_A0050=F0200,@P_A0060=F0230,@P_A0070=F0280,@P_A0080=F0290,@P_A0090=F0370,@P_A0100=F0380,@P_A0110=F0390,@P_A0120=F0410,@P_A0130=F1740,@P_A0140=F0440,@P_A0150=F0530,@P_A0160=F0540,@P_A0170=F0570,@P_A0180=F0580,@P_A0190=F0590,@P_A0200=F0670,@P_A0210=F0700,@P_A0220=F0710,@P_A0230=F0730,@P_A0240=F0740,@P_A0250=F0750,@P_A0260=F0770,@P_A0270=F0780,@P_A0280=F0810,@P_A0290=F0820,@P_A0300=F0840,@P_A0310=F0850,@P_A0320=F0860,@P_A0330=F0940,@P_A0340=F0890,@P_A0350=F0880,@P_A0360=F0900,@P_A0370=F0910
end
close cursor1
deallocate cursor1
----变量定义略
----定义游标
declare cursor1 CURSOR STATIC FOR
SELECT
F0010
,SUBSTRING(F1050,1,4)
,SUBSTRING(F1050,5,4)
,F0060
,F0070
,F0100
,F0130
,F0200
,F0230
,F0280
,F0290
,F0370
,F0380
,F0390
,F0410
,F1740
,F0440
,F0530
,F0540
,F0570
,F0580
,F0590
,F0670
,F0700
,F0710
,F0730
,F0740
,F0750
,F0770
,F0780
,F0810
,F0820
,F0840
,F0850
,F0860
,F0940
,F0890
,F0880
,F0900
,F0910
FROM yczealot.test.dbo.STK_D_BS WHERE [object_name]='母公司报表'
open cursor1
fetch next from cursor1 into @P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0010=F0060,@P_A0020=F0070,@P_A0030=F0100,@P_A0040=F0130,@P_A0050=F0200,@P_A0060=F0230,@P_A0070=F0280,@P_A0080=F0290,@P_A0090=F0370,@P_A0100=F0380,@P_A0110=F0390,@P_A0120=F0410,@P_A0130=F1740,@P_A0140=F0440,@P_A0150=F0530,@P_A0160=F0540,@P_A0170=F0570,@P_A0180=F0580,@P_A0190=F0590,@P_A0200=F0670,@P_A0210=F0700,@P_A0220=F0710,@P_A0230=F0730,@P_A0240=F0740,@P_A0250=F0750,@P_A0260=F0770,@P_A0270=F0780,@P_A0280=F0810,@P_A0290=F0820,@P_A0300=F0840,@P_A0310=F0850,@P_A0320=F0860,@P_A0330=F0940,@P_A0340=F0890,@P_A0350=F0880,@P_A0360=F0900,@P_A0370=F0910
while @@fetch_status = 0
begin
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0010',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0010)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0020',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0020)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0030',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0030)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0040',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0040)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0050',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0050)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0060',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0060)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0070',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0070)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0080',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0080)
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
VALUES('A0090',@P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0090)
fetch next from cursor1 into @P_ORG_ID,@P_RPT_YR,@P_RPT_PRD,@P_A0010=F0060,@P_A0020=F0070,@P_A0030=F0100,@P_A0040=F0130,@P_A0050=F0200,@P_A0060=F0230,@P_A0070=F0280,@P_A0080=F0290,@P_A0090=F0370,@P_A0100=F0380,@P_A0110=F0390,@P_A0120=F0410,@P_A0130=F1740,@P_A0140=F0440,@P_A0150=F0530,@P_A0160=F0540,@P_A0170=F0570,@P_A0180=F0580,@P_A0190=F0590,@P_A0200=F0670,@P_A0210=F0700,@P_A0220=F0710,@P_A0230=F0730,@P_A0240=F0740,@P_A0250=F0750,@P_A0260=F0770,@P_A0270=F0780,@P_A0280=F0810,@P_A0290=F0820,@P_A0300=F0840,@P_A0310=F0850,@P_A0320=F0860,@P_A0330=F0940,@P_A0340=F0890,@P_A0350=F0880,@P_A0360=F0900,@P_A0370=F0910
end
close cursor1
deallocate cursor1
SELECT
@P_ORG_ID=F0010这一句仍然不行啊,提示同样的错误,游标中是不能使用变量赋值的?
--定義游標
declare c1 cursor scroll for
select F0060,F0070...
from yczealot.test.dbo.STK_D_BS WHERE [object_name]='母公司报表'
open c1
fetch first from c1 into @P_A0010,@P_A0020...
while @@fetch_status=0
begin
insert XXXX
fetch next from c1 into @P_A0010,@P_A0020...
end
close c1
deallocate c1
INSERT INTO yczealot.test.dbo.IND_S_BSC_FIN(IND_ID,ORG_ID,RPT_YR,RPT_PRD,F0010)
select 'A0010',F0010,SUBSTRING(F1050,1,4),SUBSTRING(F1050,5,4),F0060
FROM yczealot.test.dbo.STK_D_BS WHERE [object_name]='母公司报表'
union all
select 'A0020',F0010,SUBSTRING(F1050,1,4),SUBSTRING(F1050,5,4),F0070
FROM yczealot.test.dbo.STK_D_BS WHERE [object_name]='母公司报表'
union all
select ...
...
declare @sql varchar(2000)
@sql='declare cursor1 CURSOR STATIC FOR SELECT @P_ORG_ID=' + F0010 +''...
exec(@sql)
declare @sql varchar(2000)
set @sql='declare cursor1 CURSOR STATIC FOR SELECT @P_ORG_ID=' + F0010 +''...
exec(@sql)
declare @sql varchar(2000)
set @sql='declare cursor1 CURSOR STATIC FOR SELECT @P_ORG_ID=' + F0010 +''...
exec(@sql)这种方法还不是在游标中使用了变量赋值啊?
直接declare c1 cursor scroll for
select a from T
open c1
fetch first from c1 into @a 不是可以麼?