动态sql 问题

xs0573 2012-04-13 04:42:25
最近准备把以前access做的考勤软件,做到sql里面,结果出现了一个存储过程报错

报错提示是:

名称'undate 员工表 set 员工表.bc = 员工调整.sz from 员工表 inner join 员工调整 on 员工表.ny = 员工调整.ny and
员工表.xm = 员工调整.xm where 员工表.ny = 1203 and 员工调整.lm = bc' 不是有效的标示符
...全文
75 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xs0573 2012-04-16
  • 打赏
  • 举报
回复
问题解决了,非常感谢
xs0573 2012-04-13
  • 打赏
  • 举报
回复
好的,等到周一的时候我试试,谢谢
唐诗三百首 2012-04-13
  • 打赏
  • 举报
回复
try this,

ALTER PROCEDURE dbo.月考勤前序
(@ny char(4))
AS
declare @sql varchar(250)
declare @lm varchar(20)

declare c cursor fast_forward for
select lm from 员工调整 where 员工调整.ny = @ny group by lm

open c
fetch next from c into @lm

while @@fetch_status= 0
begin
set @sql = 'update 员工表 set 员工表.' + @lm +' = 员工调整.sz from 员工表 inner join 员工调整 on 员工表.ny =员工调整.ny
and 员工表.xm = 员工调整.xm where 员工表.ny='''+ @ny + ''' and 员工调整.lm='''+convert(varchar(10),@lm)+''' '
exec(@sql)
fetch next from c into @lm
end
close c
deallocate c
唐诗三百首 2012-04-13
  • 打赏
  • 举报
回复
try this,

ALTER PROCEDURE dbo.月考勤前序
(@ny char(4))
AS
declare @sql varchar(250)
declare @lm varchar(20)

declare c cursor fast_forward for
select lm from 员工调整 where 员工调整.ny = @ny group by lm

open c
fetch next from c into @lm

while @@fetch_status= 0
begin
set @sql = 'update 员工表 set 员工表.' + @lm +' = 员工调整.sz from 员工表 inner join 员工调整 on 员工表.ny =员工调整.ny
and 员工表.xm = 员工调整.xm where 员工表.ny = '+ @ny + ' and 员工调整.lm ='+convert(varchar(10),@lm)
exec(@sql)
fetch next from c into @lm
end
close c
deallocate c
xs0573 2012-04-13
  • 打赏
  • 举报
回复
员工调整 列表类型
ny char(4)
xm varchar(20)
lm nvarchar(20)
sz varchar(50)
员工表 列表类型
ny char(4)
xm varchar(20)
bc int(4)
请帮我看看具体是哪里出问题了
要是能帮我看下如何在优化下,就太感谢了~~=。=
xs0573 2012-04-13
  • 打赏
  • 举报
回复
具体程序是

ALTER PROCEDURE dbo.月考勤前序
(@ny char(4))
AS
declare @sql varchar(250)
declare @lm varchar(20)

declare c cursor fast_forward for
select lm from 员工调整 where 员工调整.ny = @ny group by lm

open c
fetch next from c into @lm

while @@fetch_status= 0
begin
set @sql = 'update 员工表 set 员工表.' + @lm +' = 员工调整.sz from 员工表 inner join 员工调整 on 员工表.ny =员工调整.ny
and 员工表.xm = 员工调整.xm where 员工表.ny = '+ @ny + ' and 员工调整.lm ='+convert(varchar(10),@lm)
exec @sql
fetch next from c into @lm
end
close c
deallocate c
内容概要:本文围绕基于两阶段鲁棒优化算法的微网多电源容量配置问题展开研究,针对微电网中风能、光伏、柴油发电机及储能系统等多元电源的容量规划难题,提出了一种能够有效应对源荷不确定性的优化方法。该方法采用两阶段鲁棒优化框架,第一阶段确定电源的最优配置容量,第二阶段通过调整运行策略应对不确定性扰动,从而提升系统在复杂环境下的适应性与经济性。文中结合Matlab实现了完整的算法建模与仿真验证,提供了清晰的代码实现路径,展示了模型在典型场景下的求解过程与结果分析,具有较强的工程应用价值。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事新能源、微电网、优化调度等相关领域的科研人员及研究生。; 使用场景及目标:①解决含高比例可再生能源的微电网系统中电源容量配置的鲁棒性问题;②掌握两阶段鲁棒优化建模方法及其在能源系统中的实际应用;③为应对源荷不确定性提供可复现的技术方案与仿真工具支持; 阅读建议:此资源侧重于算法建模与实际仿真相结合,建议读者在理解鲁棒优化基本理论的基础上,结合Matlab代码逐模块分析,重点掌握不确定集构建、列与约束生成(C&CG)算法实现以及运行结果的经济性与可靠性评估方法,以实现从理论到实践的贯通。

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧