我有一张包含学生级关系的表格:
Student Grade StartDate EndDate
1 1 09/01/2009 NULL
2 2 09/01/2010 NULL
2 1 09/01/2009 06/15/2010
Run Code Online (Sandbox Code Playgroud)
我试图写一个存储过程,它接受Student,Grade以及StartDate和我会把它想
EndDate = NULL,则用StartDate新记录更新该记录.举例来说,如果我调用过程并传递1,2,09/01/2010,我想直到结束:
Student Grade StartDate EndDate
1 2 09/01/2010 NULL
1 1 09/01/2009 09/01/2010
2 2 09/01/2010 NULL
2 1 09/01/2009 06/15/2010
Run Code Online (Sandbox Code Playgroud)
这听起来像我可以使用MERGE,除了我传递文字值,我需要执行多个操作.今天早上我也有一个邪恶的头痛,似乎无法清楚地思考,所以我正在关注这个MERGE解决方案.如果有更明显的方法可以做到这一点,不要害怕指出它.
我的报告中有3个多值参数.其中2个是可选的.有没有办法在报告中获得结果而不从2个可选参数中选择任何参数.
我的存储过程将多个参数检查为(状态IN(SELECT*FROM Split(@State,',')))
我已经为WHERE CustomerId = @CustId或@CustId IS NULL的单值参数做了这个.
WorkAround: 我选择了'允许空值',它抛出此错误"多值参数不能包含空值"
谁能指出我正确的方向?
从我读过的内容:
表或视图数据访问模式一次提交每一行作为事务.因此,制作一个包传输500万行需要很长时间(30多分钟).
快速加载数据访问模式允许在插入目标时指定批处理行和提交大小.例如,插入500万条记录只需2分钟.
现在出现的问题是加载到DW的SSIS包之一在OLE DB目标中使用表或视图数据访问模式.根据我的理解,这是为了获取它插入的错误行(错误约束)到错误记录表中.因此,我们有一个超过30分钟的过程.反过来,对于相同的动作,快速加载将花费不到2分钟.
如果我理解正确,快速加载将无法区分哪一行导致批处理中的错误,而这又导致批处理完全失败?如果是这样,是否有另一种方法来处理这种情况,其中具有错误行的批处理由错误约束重定向,然后以批处理中的良好记录发送到正确的目的地的方式工作到目标,同时仍然发送错误记录到错误日志表中?即使这样做也是个好主意吗?是否更好地咬一口关于它需要的时间?
先感谢您.
我也可以
select * into #randomTenUsers from
(select top 10 * from users)x
select * from #randomTenUsers
Run Code Online (Sandbox Code Playgroud)
要么
WITH randomTenUsers as (select top 10 * from users)
select * from randomTenUsers
Run Code Online (Sandbox Code Playgroud)
根据我的理解,WITH语句还会创建一个临时结果集.
有没有理由认为WITH应优先于临时表,反之亦然?
我正在寻找一个select语句,它将检索当前连接的所有数据库角色的列表.
我想创建一个视图,将所有角色都返回给客户端软件,这样软件可以根据角色调整其用户界面(例如显示/隐藏菜单条目等)
我有一个带有两列整数数据的临时表,我想找到第三列中两列之间的差异.
#TEMP1
Present previous
59 88
75 75
45 45
77 88
09 08
#temp2
Difference
29
0
0
11
-1
Run Code Online (Sandbox Code Playgroud)
这可能吗 ??
我正在为某种大学写一个数据库,并且有一个名为的表
Contact_Assign其参数是:
Is_Instructor UD_BOOLEAN NOT NULL,
Is_TeacherAssistant UD_BOOLEAN NOT NULL,
Is_Student UD_BOOLEAN NOT NULL,
Registration_ID UD_ID NOT NULL,
Contact_ID UD_ID NOT NULL,
Run Code Online (Sandbox Code Playgroud)
现在我想在此表中插入虚拟数据,但我不知道如何为布尔参数执行此操作.
PS.UD_BOOLEAN是
CREATE TYPE UD_BOOLEAN FROM BIT
Run Code Online (Sandbox Code Playgroud)
任何想法怎么样?
当我传输从xml转换的varchar字段时.从一个服务器转移到另一个服务器它显示错误错误消息显示
消息6355,级别16,状态1,行3
将一个或多个字符从XML转换为目标整理是不可能的
当我运行时,select @@version我得到以下内容:我认为英特尔X86意味着我正在运行32位版本 - 但后来我也看到了最终的X64 ....
Microsoft SQL Server 2008 R2(SP2) - 10.50.4000.0(Intel X86)2012年6月28日08:42:37
版权所有(c)Microsoft Corporation在Windows NT 6.1上具有高级服务的Express Edition(Build 7601:Service Pack 1)(WOW64)
当我跑步时,Exec master.dbo.xp_msver我得到以下内容:
1 ProductName NULL Microsoft SQL Server
2 ProductVersion 655410 10.50.4000.0
3 Language 1033 English (United States)
4 Platform NULL NT INTEL X86
5 Comments NULL SQL
6 CompanyName NULL Microsoft Corporation
7 FileDescription NULL SQL Server Windows NT
8 FileVersion NULL 2009.0100.4000.00 ((KJ_PCU_Main).120628-0827 )
9 InternalName NULL SQLSERVR
10 LegalCopyright NULL Microsoft Corp. …Run Code Online (Sandbox Code Playgroud) 我知道有很多关于将字符串转换为datetime已经发布的问题,但是我没有找到任何用于转换字符串的内容20120225143620,包括秒.
我试图不串-ING出每个段,并与串联执行清洁转化/和:.
有没有人有什么建议?
sql-server ×7
sql ×3
addition ×1
datetime ×1
merge ×1
ssis ×1
ssrs-2008 ×1
t-sql ×1
temp-tables ×1