ORACLE存储过程中的查询语句怎么设啊
各位大侠:我在SQL窗口中写的语句可以运行SELECTOTHERBILL.FIDID,OTHERBILL.FNumber单据编号,OTHERBILL.FBillDate单...
各位大侠:
我在SQL窗口中写的语句可以运行
SELECT
OTHERBILL.FID ID,
OTHERBILL.FNumber 单据编号,
OTHERBILL.FBillDate 单据日期,
OTHERBILL.FBizDate 业务日期,
OTHERBILL.FAmount 应收金额,
OTHERBILL.FTotalAmount 整单金额合计,
OTHERBILL.FTotalTax 整单税额合计,
ENTRY.FID 分录ID,
MATERIAL.FName_l2 物料名称,
MATERIAL.FNumber 物料编码,
MATERIAL.FModel 规格型号,
ENTRY.FQuantity 数量,
ENTRY.FPrice 单价,
ENTRY.FTaxRate 税率,
ENTRY.FTaxPrice 含税单价,
ENTRY.FRealPrice 实际单价,
ENTRY.FActualPrice 实际含税单价,
ENTRY.FRecievePayAmount 价税合计,
ENTRY.FAmount 金额,
ENTRY.FTaxAmount 税额,
OTHERBILL.FIsInitializeBill 是否期初单据,
OTHERBILL.FIsImportBill 是否是导入单据,
OTHERBILL.FIsTransBill 是否转移生成单据
FROM T_AR_OtherBill OTHERBILL
INNER JOIN T_AR_OtherBillentry ENTRY
ON OTHERBILL.FID = ENTRY.FParentID
LEFT OUTER JOIN T_BD_Material MATERIAL
ON ENTRY.FMaterialID =MATERIAL.FID
where MATERIAL.FNumber like '02.02%';
在存储过程中应用该语句
if intcount=0 then
strSql := ' create table eco_price_list as
SELECT OTHERBILL.FID ID,OTHERBILL.FNumber 单据编号,
OTHERBILL.FBillDate 单据日期,OTHERBILL.FBizDate 业务日期,
OTHERBILL.FAmount 应收金额,OTHERBILL.FTotalAmount 整单金额合计,
OTHERBILL.FTotalTax 整单税额合计,ENTRY.FID 分录ID,
MATERIAL.FName_l2 物料名称,MATERIAL.FNumber 物料编码,
MATERIAL.FModel 规格型号,ENTRY.FQuantity 数量,
ENTRY.FPrice 单价,ENTRY.FTaxRate 税率,
ENTRY.FTaxPrice 含税单价,ENTRY.FRealPrice 实际单价,
ENTRY.FActualPrice 实际含税单价,ENTRY.FRecievePayAmount 价税合计,
ENTRY.FAmount 金额,ENTRY.FTaxAmount 税额,
OTHERBILL.FIsInitializeBill 是否期初单据,
OTHERBILL.FIsImportBill 是否是导入单据,
OTHERBILL.FIsTransBill 是否转移生成单据
FROM T_AR_OtherBill OTHERBILL
INNER JOIN T_AR_OtherBillentry ENTRY
ON OTHERBILL.FID = ENTRY.FParentID
LEFT OUTER JOIN T_BD_Material MATERIAL
ON ENTRY.FMaterialID =MATERIAL.FID';
strsql:=strsql||'where MATERIAL.FNumber like '||'''02.02%''';
execute immediate strSql;
end if;
编译能通过,在调用时出错
主要看WHERE后面的子句
出错错误在
strsql:=strsql||'where MATERIAL.FNumber like '||'''02.02%''';
把最后那句删掉就能执行了
但是不能限制条件了 展开
我在SQL窗口中写的语句可以运行
SELECT
OTHERBILL.FID ID,
OTHERBILL.FNumber 单据编号,
OTHERBILL.FBillDate 单据日期,
OTHERBILL.FBizDate 业务日期,
OTHERBILL.FAmount 应收金额,
OTHERBILL.FTotalAmount 整单金额合计,
OTHERBILL.FTotalTax 整单税额合计,
ENTRY.FID 分录ID,
MATERIAL.FName_l2 物料名称,
MATERIAL.FNumber 物料编码,
MATERIAL.FModel 规格型号,
ENTRY.FQuantity 数量,
ENTRY.FPrice 单价,
ENTRY.FTaxRate 税率,
ENTRY.FTaxPrice 含税单价,
ENTRY.FRealPrice 实际单价,
ENTRY.FActualPrice 实际含税单价,
ENTRY.FRecievePayAmount 价税合计,
ENTRY.FAmount 金额,
ENTRY.FTaxAmount 税额,
OTHERBILL.FIsInitializeBill 是否期初单据,
OTHERBILL.FIsImportBill 是否是导入单据,
OTHERBILL.FIsTransBill 是否转移生成单据
FROM T_AR_OtherBill OTHERBILL
INNER JOIN T_AR_OtherBillentry ENTRY
ON OTHERBILL.FID = ENTRY.FParentID
LEFT OUTER JOIN T_BD_Material MATERIAL
ON ENTRY.FMaterialID =MATERIAL.FID
where MATERIAL.FNumber like '02.02%';
在存储过程中应用该语句
if intcount=0 then
strSql := ' create table eco_price_list as
SELECT OTHERBILL.FID ID,OTHERBILL.FNumber 单据编号,
OTHERBILL.FBillDate 单据日期,OTHERBILL.FBizDate 业务日期,
OTHERBILL.FAmount 应收金额,OTHERBILL.FTotalAmount 整单金额合计,
OTHERBILL.FTotalTax 整单税额合计,ENTRY.FID 分录ID,
MATERIAL.FName_l2 物料名称,MATERIAL.FNumber 物料编码,
MATERIAL.FModel 规格型号,ENTRY.FQuantity 数量,
ENTRY.FPrice 单价,ENTRY.FTaxRate 税率,
ENTRY.FTaxPrice 含税单价,ENTRY.FRealPrice 实际单价,
ENTRY.FActualPrice 实际含税单价,ENTRY.FRecievePayAmount 价税合计,
ENTRY.FAmount 金额,ENTRY.FTaxAmount 税额,
OTHERBILL.FIsInitializeBill 是否期初单据,
OTHERBILL.FIsImportBill 是否是导入单据,
OTHERBILL.FIsTransBill 是否转移生成单据
FROM T_AR_OtherBill OTHERBILL
INNER JOIN T_AR_OtherBillentry ENTRY
ON OTHERBILL.FID = ENTRY.FParentID
LEFT OUTER JOIN T_BD_Material MATERIAL
ON ENTRY.FMaterialID =MATERIAL.FID';
strsql:=strsql||'where MATERIAL.FNumber like '||'''02.02%''';
execute immediate strSql;
end if;
编译能通过,在调用时出错
主要看WHERE后面的子句
出错错误在
strsql:=strsql||'where MATERIAL.FNumber like '||'''02.02%''';
把最后那句删掉就能执行了
但是不能限制条件了 展开
5个回答
展开全部
strsql:=strsql||' where MATERIAL.FNumber like '||'''02.02%''';
注意:
我在你的where前面加了个空格
注意:
我在你的where前面加了个空格
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
错误提示是什么?发出来看看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是你单引号打得有问题! where条件前面要加空格
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我做任务
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询