- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我遇到的唯一错误。请帮忙。提前谢谢你。
在我成功创建 SQL Server 中的存储过程之后。我尝试使用以下(仅示例)执行它
exec [dbo].ExportResourceTime 'ABC111', '', 3, 1, '2013-10-01', '2013-10-30', 1, 21
然后我得到以下错误。见附件照片。
这是 SSMS 中的实际错误。第 96 行是 if @OrgUnit <> ''
顶部的灰色光标
这是我认为错误的独立脚本。如果我错了,请纠正我。
Msg 213, Level 16, State 1, Procedure ExportResourceTime, Line 96
Insert Error: Column name or number of supplied values does not match table definition.
代码:
create procedure [dbo].ExportResourceTime
@ResourceID nvarchar(30),
@OrgUnit nvarchar(15),
@TimeDetail int,
@ExpenseDetail int,
@FromDate Datetime,
@ToDate Datetime,
@IncludeID int,
@TimeTypeGroup int
--1 = No Time Type Group
--2 = Group by Time Type
as
BEGIN
create table #ItemisedTimeandMaterials
(
IDNo int,
OrderBy1 varchar(60),
ItemDate datetime,--MOD005
RevenueTypeCode varchar(24),
TimeType varchar(24),
ProjectCode varchar(20),
taskUID int,
OutlineNum varchar(60),
taskname varchar(60),
activitycode varchar(24),
ActivityDesc varchar(60),
ResourceID nvarchar(24),
OrganizationID nvarchar(15),
EffectiveDate datetime,
firstname varchar(60),
lastname varchar(60),
ExpenseTypeCode varchar(24),
ExpenseTypeDesc varchar(60),
Hours decimal(8,2),
Rate decimal(8,2),
Total decimal(20,8),
Descr varchar(256), --MOD005 DM Added col for relevant detail for Expenses
TimeTypeCode nvarchar(10)
)
--GW: move this bit to the top--DONE
create table #Resources
(
ResourceID nvarchar(30),
OrganizationID nvarchar(15),
EffectiveDate datetime
)
if @ResourceID <> ''
begin
insert into #Resources (ResourceID,OrganizationID,EffectiveDate)
select ro.ResourceID, ro.OrganizationID, ro.EffectiveDate from ResourceOrganization ro,
(select ResourceID, MAX(EffectiveDate) as maxEffectivedate from dbo.ResourceOrganization
**where ResourceID = @ResourceID**
group by ResourceID) as maxresults
where ro.ResourceID = maxresults.ResourceID
and ro.EffectiveDate = maxresults.maxEffectivedate
end
if @OrgUnit <> ''
begin
insert into #Resources (ResourceID,OrganizationID,EffectiveDate)
Select ResourceID,OrganizationID,EffectiveDate from ResourceOrganization
where OrganizationID like '' + @OrgUnit + '%'
end
-- get actual time - REGULAR
insert into #ItemisedTimeandMaterials
select
Case when @IncludeID = 1 then b.timeID else '' end, --mod 07
e.lastname + e.firstname,
case when @TimeDetail = 2 then g.enddate else (case when @TimeDetail = 3 then b.TimeEntryDate else null end) end,--MOD005
'FEES',
'Regular',
b.projectcode,
b.taskuid,
f.outlinenum,
f.taskname,
b.ActivityCode,
c.ActivityDesc,
b.resourceID,
RES.OrganizationID,
e.firstname,
e.lastname,
'','', -- expense
sum(isnull(b.StandardHours,0)), -- MOD003 - added in isnull's
0,--h.StandardAmt,--b.NegotiatedChargeRate, --MOD005 Change to NegotiatedChargeRate from StandardChargeRate
0,--sum(isnull(b.StandardHours,0)* IsNull(h.standardAmt,0)),--sum(bd.BilledAmt),--MOD005 Change from BillableAmt feild (was incorrect for adjustments)
case when @TimeDetail = 3 then b.invoicecomment else '' end,--MOD005
case when @TimeTypeGroup = 2 then b.TimeTypeCode else '' end--MOD008
from time b
join activity c
on b.activitycode = c.activitycode
join resource e
on b.resourceID = e.resourceID
join project p
on b.ProjectCode=p.ProjectCode
and p.RevisionStatusCode='A'
join task f
on b.projectcode = f.projectcode
and b.taskuid =f.taskuid
and f.revisionnum = p.RevisionNum
join SCWeekEnding g
on b.TimeEntryDate between g.StartDate and g.EndDate
join #Resources RES
on b.ResourceID = RES.ResourceID
--left join ratesetresource h on h.resourceid = b.resourceid
where --b.projectcode = @PROJECTCODE and
b.statuscode in ('A','V','T')
and b.TimeEntryDate >= @FromDate
and b.TimeEntryDate <= @ToDate
and Isnull(b.StandardHours,0) <> 0
and b.resourceid in(Select ResourceId from #Resources)
group by
b.projectcode,
b.taskuid,
f.outlinenum,
f.taskname,
b.ActivityCode,
c.ActivityDesc,
b.resourceID,
RES.OrganizationID,
e.firstname,
e.lastname,
case when @TimeDetail = 2 then g.enddate else (case when @TimeDetail = 3 then b.TimeEntryDate else null end) end,--MOD005
case when @TimeDetail = 3 then b.invoicecomment else '' end,
Case when @IncludeID = 1 then b.timeID else '' end, --mod 07
case when @TimeTypeGroup = 2 then b.TimeTypeCode else '' end--MOD008
having sum(isnull(b.StandardHours,0)) <> 0
-- get actual time - OVERTIME
insert into #ItemisedTimeandMaterials
select
Case when @IncludeID = 1 then b.timeID else '' end, --mod 07
e.lastname + e.firstname,
case when @TimeDetail = 2 then g.enddate else (case when @TimeDetail = 3 then b.TimeEntryDate else null end) end,--MOD005
'FEES',
'Overtime',
--GW: need projectcode here--DONE
b.projectcode,
b.taskuid,
f.outlinenum,
f.taskname,
b.ActivityCode,
c.ActivityDesc,
b.resourceID,
RES.OrganizationID as OrgUnit,
e.firstname,
e.lastname,
'','', -- expense
sum(isnull(b.OvertimeHours,0)), -- MOD003 - added in isnull's
0,
0,
case when @TimeDetail = 3 then b.invoicecomment else '' end, --MOD005
case when @TimeTypeGroup = 2 then b.TimeTypeCode else '' end--MOD008
from time b
join activity c
on b.activitycode = c.activitycode
join resource e
on b.resourceID = e.resourceID
join project p
on b.ProjectCode=p.ProjectCode
and p.RevisionStatusCode='A'
join task f
on b.projectcode = f.projectcode
and b.taskuid =f.taskuid
and f.revisionnum = p.RevisionNum
join SCWeekEnding g
on b.TimeEntryDate between g.StartDate and g.EndDate
join #Resources RES
on b.ResourceID = RES.ResourceID
where
b.statuscode in ('A','V','T')
--and f.revisionnum = @latestapprovedrevision
and b.TimeEntryDate >= @FromDate
and b.TimeEntryDate <= @ToDate
and Isnull(b.OvertimeHours,0) <> 0
and b.resourceid in (select resourceid from #Resources)
group by
--GW: projectcode here--DONE
b.projectcode,
b.taskuid,
f.outlinenum,
f.taskname,
b.ActivityCode,
c.ActivityDesc,
b.resourceID,
RES.OrganizationID,
e.firstname,
e.lastname,
case when @TimeDetail = 2 then g.enddate else (case when @TimeDetail = 3 then b.TimeEntryDate else null end) end,--MOD005
case when @TimeDetail = 3 then b.invoicecomment else '' end,
case when @IncludeID = 1 then b.TimeID else '' end ,--mod 07
case when @TimeTypeGroup = 2 then b.TimeTypeCode else '' end--MOD008
having sum(isnull(b.Overtimehours,0)) <> 0
/**************** SECTION 7: OUTPUT DATA TO CRYSTAL REPORT ******************/
-- return data to the Crystal report only if taskuid are in table 1
select *
from #ItemisedTimeandMaterials
order by taskUID
drop table #Resources
drop table #ItemisedTimeandMaterials
END
GO
最佳答案
#ItemisedTimeandMaterials
临时表中有 23 列,而您只从选择列表中插入 22 个值。
当从 SELECT 列表插入具有大量计算值的列的表时,您可以通过为每个计算列提供与目标临时表列相同的别名来跟踪列。
通过这种方式,您可以轻松地比较表列和选择列表中的列,并找出缺失的列。
缺少的列是 EffectiveDate ,将它添加到正确位置的选择列表中
Select
..
..
b.resourceID,
RES.OrganizationID,
RES.EffectiveDate, --- Missing column
e.firstname,
e.lastname,
...
..
关于sql - 存储过程插入错误 : Column name or number of supplied values does not match table definition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20918743/
我正在尝试使用 flot 绘制 SQL 数据库中的数据图表,这是使用 php 收集的,然后使用 json 编码的。 目前看起来像: [{"month":"February","data":482},
我有一个来自 php 行的 json 结果,类似于 ["value"]["value"] 我尝试使用内爆函数,但得到的结果是“value”“value” |id_kategori|created_at
脚本 1 将记录 two 但浏览器仍会将 select 元素呈现为 One。该表单还将提交值 one。 脚本 2 将记录、呈现和提交 两个。我希望它们是同义词并做同样的事情。请解释它们为何不同,以及我
我的python字典结构是这样的: ips[host][ip] 每行 ips[host][ip] 看起来像这样: [host, ip, network, mask, broadcast, mac, g
在 C# 中 我正在关注的一本书对设置和获取属性提出了这样的建议: double pri_test; public double Test { get { return pri_test; }
您可能熟悉 enum 位掩码方案,例如: enum Flags { FLAG1 = 0x1, FLAG2 = 0x2, FLAG3 = 0x4, FLAG4 = 0x8
在一些地方我看到了(String)value。在一些地方value.toString() 这两者有什么区别,在什么情况下我需要使用哪一个。 new Long(value) 和 (Long)value
有没有什么时候 var result = !value ? null : value[0]; 不会等同于 var result = value ? value[0] : null; 最佳答案 在此处将
我正在使用扫描仪检测设备。目前,我的条形码的值为 2345345 A1。因此,当我扫描到记事本或文本编辑器时,输出将类似于 2345345 A1,这是正确的条形码值。 问题是: 当我第一次将条形码扫描
我正在读取 C# 中的资源文件并将其转换为 JSON 字符串格式。现在我想将该 JSON 字符串的值转换为键。 例子, [ { "key": "CreateAccount", "text":
我有以下问题: 我有一个数据框,最多可能有 600 万行左右。此数据框中的一列包含某些 ID。 ID NaN NaN D1 D1 D1 NaN D1 D1 NaN NaN NaN NaN D2 NaN
import java.util.*; import java.lang.*; class Main { public static void main (String[] args) thr
我目前正在开发我的应用程序,使其设计基于 Holo 主题。在全局范围内我想做的是工作,但我对文件夹 values、values-v11 和 values-v14. 所以我知道: values 的目标是
我遇到了一个非常奇怪的问题。 我的公司为我们的各种 Assets 使用集中式用户注册网络服务。我们一般通过HttpURLConnection使用请求方法GET向Web服务发送请求,通过qs设置参数。这
查询: UPDATE nominees SET votes = ( SELECT votes FROM nominees WHERE ID =1 ) +1 错误: You can't specify
如果我运行一段代码: obj = {}; obj['number'] = 1; obj['expressionS'] = 'Sin(0.5 * c1)'; obj['c
我正在为我的应用创建一个带有 Twitter 帐户的登录页面。当我构建我的项目时会发生上述错误。 values/strings.xml @dimen/abc_text_size_medium
我在搜索引擎中使用以下 View : CREATE VIEW msr_joined_view AS SELECT table1.id AS msr_id, table1.msr_number, tab
为什么验证会返回此错误。如何解决? ul#navigation li#navigation-3 a.current Value Error : background-position Too
我有一个数据名如下 import pandas as pd d = { 'Name' : ['James', 'John', 'Peter', 'Thomas', 'Jacob', 'Andr
我是一名优秀的程序员,十分优秀!