CREATE PROCEDURE zz_tempCreateView2 AS if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zztempView]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop view [dbo].[zztempView] declare @CreateView varchar(2000) set @CreateView= 'Create View zztempView '+ 'AS '+ 'SELECT '+ 'dbo.KCWLYE.KCWLYE_KJND AS 年, dbo.KCWLYE.KCWLYE_KJQJ AS 月,'+ 'dbo.KCWLYE.KCWLYE_WLBH AS 物料编号,dbo.LSWLLB.LSWLLB_LBMC AS 类别名称,'缺少逗号+ 'SUM(dbo.XSSSFQZY.XSSSFQZY_BBDFJE) AS 贷方金额,'+ 'dbo.LSWLZD.LSWLZD_WLMC AS 物料名称,'+ 'dbo.LSWLZD.LSWLZD_GGXH AS 规格型号,'+ 'dbo.LSWLZD.LSWLZD_JLDW AS 计量单位,'+ 'dbo.LSWLZD.LSWLZD_XSJL AS 辅助计量单位1,'+ 'dbo.LSWLZD.LSWLZD_FZDW AS 辅助计量单位2, SUM(dbo.KCWLYE.KCWLYE_JFSL) '+ 'AS 本期借方数量, SUM(dbo.KCWLYE.KCWLYE_DFSL) AS 本期贷方数量,'+ 'SUM(dbo.KCWLYE.KCWLYE_SLYE) AS 期末数量,'+ 'SUM(dbo.KCWLYE.KCWLYE_FJFSL1) AS 本期借方数量1,'+ 'SUM(dbo.KCWLYE.KCWLYE_FDFSL1) AS 本期贷方数量1,'+ 'SUM(dbo.KCWLYE.KCWLYE_FSLYE1) AS 期末数量1,'+
CREATE PROCEDURE zz_tempCreateView2 @lbbh varchar(30), @kjnd varchar(8), @kjqj varchar(4) AS if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zztempView]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop view [dbo].[zztempView] declare @CreateView varchar(2000) set @CreateView= 'Create View zztempView '+ 'AS '+ 'SELECT '+ 'dbo.KCWLYE.KCWLYE_KJND AS 年, dbo.KCWLYE.KCWLYE_KJQJ AS 月,'+ 'dbo.KCWLYE.KCWLYE_WLBH AS 物料编号,dbo.LSWLLB.LSWLLB_LBMC AS 类别名称,'+ 'SUM(dbo.XSSSFQZY.XSSSFQZY_BBDFJE) AS 贷方金额,'+ 'dbo.LSWLZD.LSWLZD_WLMC AS 物料名称,'+ 'dbo.LSWLZD.LSWLZD_GGXH AS 规格型号,'+ 'dbo.LSWLZD.LSWLZD_JLDW AS 计量单位,'+ 'dbo.LSWLZD.LSWLZD_XSJL AS 辅助计量单位1,'+ 'dbo.LSWLZD.LSWLZD_FZDW AS 辅助计量单位2, SUM(dbo.KCWLYE.KCWLYE_JFSL) '+ 'AS 本期借方数量, SUM(dbo.KCWLYE.KCWLYE_DFSL) AS 本期贷方数量,'+ 'SUM(dbo.KCWLYE.KCWLYE_SLYE) AS 期末数量,'+ 'SUM(dbo.KCWLYE.KCWLYE_FJFSL1) AS 本期借方数量1,'+ 'SUM(dbo.KCWLYE.KCWLYE_FDFSL1) AS 本期贷方数量1,'+ 'SUM(dbo.KCWLYE.KCWLYE_FSLYE1) AS 期末数量1,'+ 'SUM(dbo.KCWLYE.KCWLYE_FJFSL2) AS 本期借方数量2,'+ 'SUM(dbo.KCWLYE.KCWLYE_FDFSL2) AS 本期贷方数量2,'+ 'SUM(dbo.KCWLYE.KCWLYE_FSLYE2) AS 期末数量2 '+ 'FROM dbo.XSSSFQZY INNER JOIN '+ 'dbo.KCWLYE ON '+ 'dbo.XSSSFQZY.XSSSFQZY_KJQJ = dbo.KCWLYE.KCWLYE_KJQJ AND '+ 'dbo.XSSSFQZY.XSSSFQZY_KJND = dbo.KCWLYE.KCWLYE_KJND AND '+ 'dbo.XSSSFQZY.XSSSFQZY_WLBH = dbo.KCWLYE.KCWLYE_WLBH INNER JOIN '+ 'dbo.LSWLZD ON '+ 'dbo.KCWLYE.KCWLYE_WLBH = dbo.LSWLZD.LSWLZD_WLBH INNER JOIN '+ 'dbo.LSWLLB ON '+ 'dbo.LSWLZD.LSWLZD_LBBH = dbo.LSWLLB.LSWLLB_LBBH '+ 'WHERE '+ '(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+ '(dbo.XSSSFQZY.XSSSFQZY_JFSL <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+@kjqj+''') AND '+ '(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ '(dbo.KCWLYE.KCWLYE_KJND = '''+@kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_JFSL1 <> 0) '+ 'AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+@kjqj+''') AND '+ '(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ '(dbo.KCWLYE.KCWLYE_KJND ='''+ @kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_JFSL2 <> 0) '+ 'AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+ @kjqj+''') AND '+ '(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ '(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_DFSL <> 0) '+ 'AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') AND '+ '(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ '(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+ '(dbo.XSSSFQZY.XSSSFQZY_DFSL1 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+@kjqj+''') '+ 'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ '(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+ '(dbo.XSSSFQZY.XSSSFQZY_DFSL2 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') '+ 'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ ' (dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_SLYE <> 0) '+ 'AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') AND '+ '(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ '(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+ '(dbo.XSSSFQZY.XSSSFQZY_FSLYE1 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') '+ 'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ '(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+ '(dbo.XSSSFQZY.XSSSFQZY_FSLYE2 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') '+ 'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') '+ 'group by dbo.LSWLLB.LSWLLB_LBMC,dbo.KCWLYE.KCWLYE_KJND,dbo.KCWLYE.KCWLYE_KJQJ,dbo.KCWLYE.KCWLYE_WLBH,dbo.LSWLZD.LSWLZD_WLMC,dbo.LSWLZD.LSWLZD_GGXH,dbo.LSWLZD.LSWLZD_JLDW,dbo.LSWLZD.LSWLZD_XSJL,dbo.LSWLZD.LSWLZD_FZDW ' Exec(@CreateView) if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zztempView]') and OBJECTPROPERTY(id, N'IsView') = 1) return 1 else return 0 GO修改过之后 又报第一行:'KCWLYE'附近有语法错误
'dbo.KCWLYE.KCWLYE_WLBH AS 物料编号,dbo.LSWLLB.LSWLLB_LBMC AS 类别名称'+ 改为 'dbo.KCWLYE.KCWLYE_WLBH AS 物料编号,dbo.LSWLLB.LSWLLB_LBMC AS 类别名称,'+ 少个逗号
已经改过了 现在就是又报'KCWLYE'附近有语法错误 不知道又是什么问题
--檢查下逗號 CREATE PROCEDURE zz_tempCreateView2 @lbbh varchar(30), @kjnd varchar(8), @kjqj varchar(4) AS if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zztempView]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop view [dbo].[zztempView] declare @CreateView varchar(2000) set @CreateView= 'Create View zztempView '+ 'AS '+ 'SELECT '+ 'dbo.KCWLYE.KCWLYE_KJND AS 年, dbo.KCWLYE.KCWLYE_KJQJ AS 月,'+ 'dbo.KCWLYE.KCWLYE_WLBH AS 物料编号,dbo.LSWLLB.LSWLLB_LBMC AS 类别名称,'+ 'SUM(dbo.XSSSFQZY.XSSSFQZY_BBDFJE) AS 贷方金额,'+ 'dbo.LSWLZD.LSWLZD_WLMC AS 物料名称,'+ 'dbo.LSWLZD.LSWLZD_GGXH AS 规格型号,'+ 'dbo.LSWLZD.LSWLZD_JLDW AS 计量单位,'+ 'dbo.LSWLZD.LSWLZD_XSJL AS 辅助计量单位1,'+ 'dbo.LSWLZD.LSWLZD_FZDW AS 辅助计量单位2, SUM(dbo.KCWLYE.KCWLYE_JFSL), '+ 'AS 本期借方数量, SUM(dbo.KCWLYE.KCWLYE_DFSL) AS 本期贷方数量,'+ 'SUM(dbo.KCWLYE.KCWLYE_SLYE) AS 期末数量,'+ 'SUM(dbo.KCWLYE.KCWLYE_FJFSL1) AS 本期借方数量1,'+ 'SUM(dbo.KCWLYE.KCWLYE_FDFSL1) AS 本期贷方数量1,'+ 'SUM(dbo.KCWLYE.KCWLYE_FSLYE1) AS 期末数量1,'+ 'SUM(dbo.KCWLYE.KCWLYE_FJFSL2) AS 本期借方数量2,'+ 'SUM(dbo.KCWLYE.KCWLYE_FDFSL2) AS 本期贷方数量2,'+ 'SUM(dbo.KCWLYE.KCWLYE_FSLYE2) AS 期末数量2 '+ 'FROM dbo.XSSSFQZY INNER JOIN '+ 'dbo.KCWLYE ON '+ 'dbo.XSSSFQZY.XSSSFQZY_KJQJ = dbo.KCWLYE.KCWLYE_KJQJ AND '+ 'dbo.XSSSFQZY.XSSSFQZY_KJND = dbo.KCWLYE.KCWLYE_KJND AND '+ 'dbo.XSSSFQZY.XSSSFQZY_WLBH = dbo.KCWLYE.KCWLYE_WLBH INNER JOIN '+ 'dbo.LSWLZD ON '+ 'dbo.KCWLYE.KCWLYE_WLBH = dbo.LSWLZD.LSWLZD_WLBH INNER JOIN '+ 'dbo.LSWLLB ON '+ 'dbo.LSWLZD.LSWLZD_LBBH = dbo.LSWLLB.LSWLLB_LBBH '+ 'WHERE '+ '(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+ '(dbo.XSSSFQZY.XSSSFQZY_JFSL <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+@kjqj+''') AND '+ '(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ '(dbo.KCWLYE.KCWLYE_KJND = '''+@kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_JFSL1 <> 0) '+ 'AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+@kjqj+''') AND '+ '(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ '(dbo.KCWLYE.KCWLYE_KJND ='''+ @kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_JFSL2 <> 0) '+ 'AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+ @kjqj+''') AND '+ '(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ '(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_DFSL <> 0) '+ 'AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') AND '+ '(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ '(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+ '(dbo.XSSSFQZY.XSSSFQZY_DFSL1 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+@kjqj+''') '+ 'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ '(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+ '(dbo.XSSSFQZY.XSSSFQZY_DFSL2 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') '+ 'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ ' (dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_SLYE <> 0) '+ 'AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') AND '+ '(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ '(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+ '(dbo.XSSSFQZY.XSSSFQZY_FSLYE1 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') '+ 'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+ '(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+ '(dbo.XSSSFQZY.XSSSFQZY_FSLYE2 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') '+ 'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') '+ 'group by dbo.LSWLLB.LSWLLB_LBMC,dbo.KCWLYE.KCWLYE_KJND,dbo.KCWLYE.KCWLYE_KJQJ,dbo.KCWLYE.KCWLYE_WLBH,dbo.LSWLZD.LSWLZD_WLMC,dbo.LSWLZD.LSWLZD_GGXH,dbo.LSWLZD.LSWLZD_JLDW,dbo.LSWLZD.LSWLZD_XSJL,dbo.LSWLZD.LSWLZD_FZDW ' Exec(@CreateView) if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zztempView]') and OBJECTPROPERTY(id, N'IsView') = 1) return 1 else return 0 GO
Create View zztempView AS SELECT dbo.KCWLYE.KCWLYE_KJND AS 年, dbo.KCWLYE.KCWLYE_KJQJ AS 月,dbo.KCWLYE.KCWLYE_WLBH AS 物料编号,dbo.LSWLLB.LSWLLB_LBMC AS 类别名称,SUM(dbo.XSSSFQZY.XSSSFQZY_BBDFJE) AS 贷方金额,dbo.LSWLZD.LSWLZD_WLMC AS 物料名称,dbo.LSWLZD.LSWLZD_GGXH AS 规格型号,dbo.LSWLZD.LSWLZD_JLDW AS 计量单位,dbo.LSWLZD.LSWLZD_XSJL AS 辅助计量单位1,dbo.LSWLZD.LSWLZD_FZDW AS 辅助计量单位2, SUM(dbo.KCWLYE.KCWLYE_JFSL) AS 本期借方数量, SUM(dbo.KCWLYE.KCWLYE_DFSL) AS 本期贷方数量,SUM(dbo.KCWLYE.KCWLYE_SLYE) AS 期末数量,SUM(dbo.KCWLYE.KCWLYE_FJFSL1) AS 本期借方数量1,SUM(dbo.KCWLYE.KCWLYE_FDFSL1) AS 本期贷方数量1,SUM(dbo.KCWLYE.KCWLYE_FSLYE1) AS 期末数量1,SUM(dbo.KCWLYE.KCWLYE_FJFSL2) AS 本期借方数量2,SUM(dbo.KCWLYE.KCWLYE_FDFSL2) AS 本期贷方数量2,SUM(dbo.KCWLYE.KCWLYE_FSLYE2) AS 期末数量2 FROM dbo.XSSSFQZY INNER JOIN dbo.KCWLYE ON dbo.XSSSFQZY.XSSSFQZY_KJQJ = dbo.KCWLYE.KCWLYE_KJQJ AND dbo.XSSSFQZY.XSSSFQZY_KJND = dbo.KCWLYE.KCWLYE_KJND AND dbo.XSSSFQZY.XSSSFQZY_WLBH = dbo.KCWLYE.KCWLYE_WLBH INNER JOIN dbo.LSWLZD ON dbo.KCWLYE.KCWLYE_WLBH = dbo.LSWLZD.LSWLZD_WLBH INNER JOIN dbo.LSWLLB ON dbo.LSWLZD.LSWLZD_LBBH = dbo.LSWLLB.LSWLLB_LBBH WHERE (dbo.KCWLYE.KCWLYE_KJND ='2009') AND (dbo.XSSSFQZY.XSSSFQZY_JFSL <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ ='01') AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '02%') OR (dbo.KCWLYE.KCWLYE_KJND = '2009') AND (dbo.XSSSFQZY.XSSSFQZY_JFSL1 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ ='01') AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '02%') OR (dbo.KCWLYE.KCWLYE_KJND ='2009') AND (dbo.XSSSFQZY.XSSSFQZY_JFSL2 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ ='01') AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '02%') OR (dbo.KCWLYE.KCWLYE_KJND ='2009') AND (dbo.XSSSFQZY.XSSSFQZY_DFSL <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ = '01') AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '02%') OR (dbo.KCWLYE.KCWLYE_KJND ='2009') AND (dbo.XSSSFQZY.XSSSFQZY_DFSL1 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ ='01') AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '02%') OR (dbo.KCWLYE.KCWLYE_KJND ='2009') AND (dbo.XSSSFQZY.XSSSFQZY_DFSL2 <> 0) AND (dbo.KCWLYE.KCWL这个是得到的sql 到KCWL就没有了 我看了下 那个地方好像没有问题啊 怎么会只有这一段??
有好几处小错误。 掉了个逗号,@CreateView长度定义不够,语句也过于冗余等等 CREATE PROCEDURE zz_tempCreateView AS if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zztempView]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop view [dbo].[zztempView] declare @CreateView varchar(3000) set @CreateView= 'Create View zztempView '+ 'AS '+ 'SELECT '+ 'dbo.KCWLYE.KCWLYE_KJND AS 年, dbo.KCWLYE.KCWLYE_KJQJ AS 月,'+ 'dbo.KCWLYE.KCWLYE_WLBH AS 物料编号,dbo.LSWLLB.LSWLLB_LBMC AS 类别名称,'+ 'SUM(dbo.XSSSFQZY.XSSSFQZY_BBDFJE) AS 贷方金额,'+ 'dbo.LSWLZD.LSWLZD_WLMC AS 物料名称,'+ 'dbo.LSWLZD.LSWLZD_GGXH AS 规格型号,'+ 'dbo.LSWLZD.LSWLZD_JLDW AS 计量单位,'+ 'dbo.LSWLZD.LSWLZD_XSJL AS 辅助计量单位1,'+ 'dbo.LSWLZD.LSWLZD_FZDW AS 辅助计量单位2, SUM(dbo.KCWLYE.KCWLYE_JFSL) '+ 'AS 本期借方数量, SUM(dbo.KCWLYE.KCWLYE_DFSL) AS 本期贷方数量,'+ 'SUM(dbo.KCWLYE.KCWLYE_SLYE) AS 期末数量,'+ 'SUM(dbo.KCWLYE.KCWLYE_FJFSL1) AS 本期借方数量1,'+ 'SUM(dbo.KCWLYE.KCWLYE_FDFSL1) AS 本期贷方数量1,'+ 'SUM(dbo.KCWLYE.KCWLYE_FSLYE1) AS 期末数量1,'+ 'SUM(dbo.KCWLYE.KCWLYE_FJFSL2) AS 本期借方数量2,'+ 'SUM(dbo.KCWLYE.KCWLYE_FDFSL2) AS 本期贷方数量2,'+ 'SUM(dbo.KCWLYE.KCWLYE_FSLYE2) AS 期末数量2 '+ 'FROM dbo.XSSSFQZY INNER JOIN '+ 'dbo.KCWLYE ON '+ 'dbo.XSSSFQZY.XSSSFQZY_KJQJ = dbo.KCWLYE.KCWLYE_KJQJ AND '+ 'dbo.XSSSFQZY.XSSSFQZY_KJND = dbo.KCWLYE.KCWLYE_KJND AND '+ 'dbo.XSSSFQZY.XSSSFQZY_WLBH = dbo.KCWLYE.KCWLYE_WLBH INNER JOIN '+ 'dbo.LSWLZD ON '+ 'dbo.KCWLYE.KCWLYE_WLBH = dbo.LSWLZD.LSWLZD_WLBH INNER JOIN '+ 'dbo.LSWLLB ON '+ 'dbo.LSWLZD.LSWLZD_LBBH = dbo.LSWLLB.LSWLLB_LBBH '+ 'WHERE '+ '(dbo.KCWLYE.KCWLYE_KJND = 2009) AND (dbo.KCWLYE.KCWLYE_KJQJ = 01) AND (dbo.LSWLLB.LSWLLB_LBBH LIKE ''02%'') AND '+ '((dbo.XSSSFQZY.XSSSFQZY_JFSL <> 0) OR (dbo.XSSSFQZY.XSSSFQZY_JFSL1 <> 0) OR (dbo.XSSSFQZY.XSSSFQZY_JFSL2 <> 0) '+ ' OR (dbo.XSSSFQZY.XSSSFQZY_DFSL <> 0) OR (dbo.XSSSFQZY.XSSSFQZY_DFSL1 <> 0) OR (dbo.XSSSFQZY.XSSSFQZY_DFSL2 <> 0) '+ ' OR (dbo.XSSSFQZY.XSSSFQZY_SLYE <> 0) OR (dbo.XSSSFQZY.XSSSFQZY_FSLYE1 <> 0) OR (dbo.XSSSFQZY.XSSSFQZY_FSLYE2 <> 0)) '+ ' GROUP BY dbo.LSWLLB.LSWLLB_LBMC,dbo.KCWLYE.KCWLYE_KJND,dbo.KCWLYE.KCWLYE_KJQJ,dbo.KCWLYE.KCWLYE_WLBH,dbo.LSWLZD.LSWLZD_WLMC,dbo.LSWLZD.LSWLZD_GGXH,dbo.LSWLZD.LSWLZD_JLDW,dbo.LSWLZD.LSWLZD_XSJL,dbo.LSWLZD.LSWLZD_FZDW ' Exec(@CreateView) if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zztempView]') and OBJECTPROPERTY(id, N'IsView') = 1) return 1 else return 0 GO
AS
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zztempView]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop view [dbo].[zztempView]
declare @CreateView varchar(2000)
set @CreateView= 'Create View zztempView '+
'AS '+
'SELECT '+
'dbo.KCWLYE.KCWLYE_KJND AS 年, dbo.KCWLYE.KCWLYE_KJQJ AS 月,'+
'dbo.KCWLYE.KCWLYE_WLBH AS 物料编号,dbo.LSWLLB.LSWLLB_LBMC AS 类别名称,'缺少逗号+
'SUM(dbo.XSSSFQZY.XSSSFQZY_BBDFJE) AS 贷方金额,'+
'dbo.LSWLZD.LSWLZD_WLMC AS 物料名称,'+
'dbo.LSWLZD.LSWLZD_GGXH AS 规格型号,'+
'dbo.LSWLZD.LSWLZD_JLDW AS 计量单位,'+
'dbo.LSWLZD.LSWLZD_XSJL AS 辅助计量单位1,'+
'dbo.LSWLZD.LSWLZD_FZDW AS 辅助计量单位2, SUM(dbo.KCWLYE.KCWLYE_JFSL) '+
'AS 本期借方数量, SUM(dbo.KCWLYE.KCWLYE_DFSL) AS 本期贷方数量,'+
'SUM(dbo.KCWLYE.KCWLYE_SLYE) AS 期末数量,'+
'SUM(dbo.KCWLYE.KCWLYE_FJFSL1) AS 本期借方数量1,'+
'SUM(dbo.KCWLYE.KCWLYE_FDFSL1) AS 本期贷方数量1,'+
'SUM(dbo.KCWLYE.KCWLYE_FSLYE1) AS 期末数量1,'+
@lbbh varchar(30),
@kjnd varchar(8),
@kjqj varchar(4)
AS
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zztempView]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop view [dbo].[zztempView]
declare @CreateView varchar(2000)
set @CreateView= 'Create View zztempView '+
'AS '+
'SELECT '+
'dbo.KCWLYE.KCWLYE_KJND AS 年, dbo.KCWLYE.KCWLYE_KJQJ AS 月,'+
'dbo.KCWLYE.KCWLYE_WLBH AS 物料编号,dbo.LSWLLB.LSWLLB_LBMC AS 类别名称,'+
'SUM(dbo.XSSSFQZY.XSSSFQZY_BBDFJE) AS 贷方金额,'+
'dbo.LSWLZD.LSWLZD_WLMC AS 物料名称,'+
'dbo.LSWLZD.LSWLZD_GGXH AS 规格型号,'+
'dbo.LSWLZD.LSWLZD_JLDW AS 计量单位,'+
'dbo.LSWLZD.LSWLZD_XSJL AS 辅助计量单位1,'+
'dbo.LSWLZD.LSWLZD_FZDW AS 辅助计量单位2, SUM(dbo.KCWLYE.KCWLYE_JFSL) '+
'AS 本期借方数量, SUM(dbo.KCWLYE.KCWLYE_DFSL) AS 本期贷方数量,'+
'SUM(dbo.KCWLYE.KCWLYE_SLYE) AS 期末数量,'+
'SUM(dbo.KCWLYE.KCWLYE_FJFSL1) AS 本期借方数量1,'+
'SUM(dbo.KCWLYE.KCWLYE_FDFSL1) AS 本期贷方数量1,'+
'SUM(dbo.KCWLYE.KCWLYE_FSLYE1) AS 期末数量1,'+
'SUM(dbo.KCWLYE.KCWLYE_FJFSL2) AS 本期借方数量2,'+
'SUM(dbo.KCWLYE.KCWLYE_FDFSL2) AS 本期贷方数量2,'+
'SUM(dbo.KCWLYE.KCWLYE_FSLYE2) AS 期末数量2 '+
'FROM dbo.XSSSFQZY INNER JOIN '+
'dbo.KCWLYE ON '+
'dbo.XSSSFQZY.XSSSFQZY_KJQJ = dbo.KCWLYE.KCWLYE_KJQJ AND '+
'dbo.XSSSFQZY.XSSSFQZY_KJND = dbo.KCWLYE.KCWLYE_KJND AND '+
'dbo.XSSSFQZY.XSSSFQZY_WLBH = dbo.KCWLYE.KCWLYE_WLBH INNER JOIN '+
'dbo.LSWLZD ON '+
'dbo.KCWLYE.KCWLYE_WLBH = dbo.LSWLZD.LSWLZD_WLBH INNER JOIN '+
'dbo.LSWLLB ON '+
'dbo.LSWLZD.LSWLZD_LBBH = dbo.LSWLLB.LSWLLB_LBBH '+
'WHERE '+
'(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+
'(dbo.XSSSFQZY.XSSSFQZY_JFSL <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+@kjqj+''') AND '+
'(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
'(dbo.KCWLYE.KCWLYE_KJND = '''+@kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_JFSL1 <> 0) '+
'AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+@kjqj+''') AND '+
'(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
'(dbo.KCWLYE.KCWLYE_KJND ='''+ @kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_JFSL2 <> 0) '+
'AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+ @kjqj+''') AND '+
'(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
'(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_DFSL <> 0) '+
'AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') AND '+
'(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
'(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+
'(dbo.XSSSFQZY.XSSSFQZY_DFSL1 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+@kjqj+''') '+
'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
'(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+
'(dbo.XSSSFQZY.XSSSFQZY_DFSL2 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') '+
'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
' (dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_SLYE <> 0) '+
'AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') AND '+
'(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
'(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+
'(dbo.XSSSFQZY.XSSSFQZY_FSLYE1 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') '+
'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
'(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+
'(dbo.XSSSFQZY.XSSSFQZY_FSLYE2 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') '+
'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') '+
'group by dbo.LSWLLB.LSWLLB_LBMC,dbo.KCWLYE.KCWLYE_KJND,dbo.KCWLYE.KCWLYE_KJQJ,dbo.KCWLYE.KCWLYE_WLBH,dbo.LSWLZD.LSWLZD_WLMC,dbo.LSWLZD.LSWLZD_GGXH,dbo.LSWLZD.LSWLZD_JLDW,dbo.LSWLZD.LSWLZD_XSJL,dbo.LSWLZD.LSWLZD_FZDW '
Exec(@CreateView)
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zztempView]') and OBJECTPROPERTY(id, N'IsView') = 1)
return 1
else
return 0
GO修改过之后 又报第一行:'KCWLYE'附近有语法错误
改为
'dbo.KCWLYE.KCWLYE_WLBH AS 物料编号,dbo.LSWLLB.LSWLLB_LBMC AS 类别名称,'+
少个逗号
CREATE PROCEDURE zz_tempCreateView2
@lbbh varchar(30),
@kjnd varchar(8),
@kjqj varchar(4)
AS
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zztempView]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop view [dbo].[zztempView]
declare @CreateView varchar(2000)
set @CreateView= 'Create View zztempView '+
'AS '+
'SELECT '+
'dbo.KCWLYE.KCWLYE_KJND AS 年, dbo.KCWLYE.KCWLYE_KJQJ AS 月,'+
'dbo.KCWLYE.KCWLYE_WLBH AS 物料编号,dbo.LSWLLB.LSWLLB_LBMC AS 类别名称,'+
'SUM(dbo.XSSSFQZY.XSSSFQZY_BBDFJE) AS 贷方金额,'+
'dbo.LSWLZD.LSWLZD_WLMC AS 物料名称,'+
'dbo.LSWLZD.LSWLZD_GGXH AS 规格型号,'+
'dbo.LSWLZD.LSWLZD_JLDW AS 计量单位,'+
'dbo.LSWLZD.LSWLZD_XSJL AS 辅助计量单位1,'+
'dbo.LSWLZD.LSWLZD_FZDW AS 辅助计量单位2, SUM(dbo.KCWLYE.KCWLYE_JFSL), '+
'AS 本期借方数量, SUM(dbo.KCWLYE.KCWLYE_DFSL) AS 本期贷方数量,'+
'SUM(dbo.KCWLYE.KCWLYE_SLYE) AS 期末数量,'+
'SUM(dbo.KCWLYE.KCWLYE_FJFSL1) AS 本期借方数量1,'+
'SUM(dbo.KCWLYE.KCWLYE_FDFSL1) AS 本期贷方数量1,'+
'SUM(dbo.KCWLYE.KCWLYE_FSLYE1) AS 期末数量1,'+
'SUM(dbo.KCWLYE.KCWLYE_FJFSL2) AS 本期借方数量2,'+
'SUM(dbo.KCWLYE.KCWLYE_FDFSL2) AS 本期贷方数量2,'+
'SUM(dbo.KCWLYE.KCWLYE_FSLYE2) AS 期末数量2 '+
'FROM dbo.XSSSFQZY INNER JOIN '+
'dbo.KCWLYE ON '+
'dbo.XSSSFQZY.XSSSFQZY_KJQJ = dbo.KCWLYE.KCWLYE_KJQJ AND '+
'dbo.XSSSFQZY.XSSSFQZY_KJND = dbo.KCWLYE.KCWLYE_KJND AND '+
'dbo.XSSSFQZY.XSSSFQZY_WLBH = dbo.KCWLYE.KCWLYE_WLBH INNER JOIN '+
'dbo.LSWLZD ON '+
'dbo.KCWLYE.KCWLYE_WLBH = dbo.LSWLZD.LSWLZD_WLBH INNER JOIN '+
'dbo.LSWLLB ON '+
'dbo.LSWLZD.LSWLZD_LBBH = dbo.LSWLLB.LSWLLB_LBBH '+
'WHERE '+
'(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+
'(dbo.XSSSFQZY.XSSSFQZY_JFSL <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+@kjqj+''') AND '+
'(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
'(dbo.KCWLYE.KCWLYE_KJND = '''+@kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_JFSL1 <> 0) '+
'AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+@kjqj+''') AND '+
'(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
'(dbo.KCWLYE.KCWLYE_KJND ='''+ @kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_JFSL2 <> 0) '+
'AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+ @kjqj+''') AND '+
'(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
'(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_DFSL <> 0) '+
'AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') AND '+
'(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
'(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+
'(dbo.XSSSFQZY.XSSSFQZY_DFSL1 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ ='''+@kjqj+''') '+
'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
'(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+
'(dbo.XSSSFQZY.XSSSFQZY_DFSL2 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') '+
'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
' (dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND (dbo.XSSSFQZY.XSSSFQZY_SLYE <> 0) '+
'AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') AND '+
'(dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
'(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+
'(dbo.XSSSFQZY.XSSSFQZY_FSLYE1 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') '+
'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') OR '+
'(dbo.KCWLYE.KCWLYE_KJND ='''+@kjnd+''') AND '+
'(dbo.XSSSFQZY.XSSSFQZY_FSLYE2 <> 0) AND (dbo.KCWLYE.KCWLYE_KJQJ = '''+@kjqj+''') '+
'AND (dbo.LSWLLB.LSWLLB_LBBH LIKE '''+@lbbh+'%'') '+
'group by dbo.LSWLLB.LSWLLB_LBMC,dbo.KCWLYE.KCWLYE_KJND,dbo.KCWLYE.KCWLYE_KJQJ,dbo.KCWLYE.KCWLYE_WLBH,dbo.LSWLZD.LSWLZD_WLMC,dbo.LSWLZD.LSWLZD_GGXH,dbo.LSWLZD.LSWLZD_JLDW,dbo.LSWLZD.LSWLZD_XSJL,dbo.LSWLZD.LSWLZD_FZDW '
Exec(@CreateView)
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zztempView]') and OBJECTPROPERTY(id, N'IsView') = 1)
return 1
else
return 0
GO
把 exec(@CreateView)修改为print(@CreateView),然后执行存储过程会得到你拼接的sql,然后把拼接的sql复制出来单独执行,看哪里有问题就修改哪里。
掉了个逗号,@CreateView长度定义不够,语句也过于冗余等等
CREATE PROCEDURE zz_tempCreateView
AS
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zztempView]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop view [dbo].[zztempView]
declare @CreateView varchar(3000)
set @CreateView= 'Create View zztempView '+
'AS '+
'SELECT '+
'dbo.KCWLYE.KCWLYE_KJND AS 年, dbo.KCWLYE.KCWLYE_KJQJ AS 月,'+
'dbo.KCWLYE.KCWLYE_WLBH AS 物料编号,dbo.LSWLLB.LSWLLB_LBMC AS 类别名称,'+
'SUM(dbo.XSSSFQZY.XSSSFQZY_BBDFJE) AS 贷方金额,'+
'dbo.LSWLZD.LSWLZD_WLMC AS 物料名称,'+
'dbo.LSWLZD.LSWLZD_GGXH AS 规格型号,'+
'dbo.LSWLZD.LSWLZD_JLDW AS 计量单位,'+
'dbo.LSWLZD.LSWLZD_XSJL AS 辅助计量单位1,'+
'dbo.LSWLZD.LSWLZD_FZDW AS 辅助计量单位2, SUM(dbo.KCWLYE.KCWLYE_JFSL) '+
'AS 本期借方数量, SUM(dbo.KCWLYE.KCWLYE_DFSL) AS 本期贷方数量,'+
'SUM(dbo.KCWLYE.KCWLYE_SLYE) AS 期末数量,'+
'SUM(dbo.KCWLYE.KCWLYE_FJFSL1) AS 本期借方数量1,'+
'SUM(dbo.KCWLYE.KCWLYE_FDFSL1) AS 本期贷方数量1,'+
'SUM(dbo.KCWLYE.KCWLYE_FSLYE1) AS 期末数量1,'+
'SUM(dbo.KCWLYE.KCWLYE_FJFSL2) AS 本期借方数量2,'+
'SUM(dbo.KCWLYE.KCWLYE_FDFSL2) AS 本期贷方数量2,'+
'SUM(dbo.KCWLYE.KCWLYE_FSLYE2) AS 期末数量2 '+
'FROM dbo.XSSSFQZY INNER JOIN '+
'dbo.KCWLYE ON '+
'dbo.XSSSFQZY.XSSSFQZY_KJQJ = dbo.KCWLYE.KCWLYE_KJQJ AND '+
'dbo.XSSSFQZY.XSSSFQZY_KJND = dbo.KCWLYE.KCWLYE_KJND AND '+
'dbo.XSSSFQZY.XSSSFQZY_WLBH = dbo.KCWLYE.KCWLYE_WLBH INNER JOIN '+
'dbo.LSWLZD ON '+
'dbo.KCWLYE.KCWLYE_WLBH = dbo.LSWLZD.LSWLZD_WLBH INNER JOIN '+
'dbo.LSWLLB ON '+
'dbo.LSWLZD.LSWLZD_LBBH = dbo.LSWLLB.LSWLLB_LBBH '+
'WHERE '+
'(dbo.KCWLYE.KCWLYE_KJND = 2009) AND (dbo.KCWLYE.KCWLYE_KJQJ = 01) AND (dbo.LSWLLB.LSWLLB_LBBH LIKE ''02%'') AND '+
'((dbo.XSSSFQZY.XSSSFQZY_JFSL <> 0) OR (dbo.XSSSFQZY.XSSSFQZY_JFSL1 <> 0) OR (dbo.XSSSFQZY.XSSSFQZY_JFSL2 <> 0) '+
' OR (dbo.XSSSFQZY.XSSSFQZY_DFSL <> 0) OR (dbo.XSSSFQZY.XSSSFQZY_DFSL1 <> 0) OR (dbo.XSSSFQZY.XSSSFQZY_DFSL2 <> 0) '+
' OR (dbo.XSSSFQZY.XSSSFQZY_SLYE <> 0) OR (dbo.XSSSFQZY.XSSSFQZY_FSLYE1 <> 0) OR (dbo.XSSSFQZY.XSSSFQZY_FSLYE2 <> 0)) '+
' GROUP BY dbo.LSWLLB.LSWLLB_LBMC,dbo.KCWLYE.KCWLYE_KJND,dbo.KCWLYE.KCWLYE_KJQJ,dbo.KCWLYE.KCWLYE_WLBH,dbo.LSWLZD.LSWLZD_WLMC,dbo.LSWLZD.LSWLZD_GGXH,dbo.LSWLZD.LSWLZD_JLDW,dbo.LSWLZD.LSWLZD_XSJL,dbo.LSWLZD.LSWLZD_FZDW '
Exec(@CreateView)
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zztempView]') and OBJECTPROPERTY(id, N'IsView') = 1)
return 1
else
return 0
GO