Tag: sql server

INSERT语句与FOREIGN KEY约束冲突

我收到以下错误。 你可以帮我吗? Msg 547,Level 16,State 0,Line 1 INSERT语句与FOREIGN KEY约束“FK_Sup_Item_Sup_Item_Cat”冲突。 数据库“dev_bo”,表“dbo.Sup_Item_Cat”发生冲突。 声明已经终止。 码: insert into sup_item (supplier_id, sup_item_id, name, sup_item_cat_id, status_code, last_modified_user_id, last_modified_timestamp, client_id) values (10162425, 10, 'jaiso', '123123', 'a', '12', '2010-12-12', '1062425') 最后一列client_id正在导致错误。 我试图把在dbo.Sup_Item_Cat已经存在的值放入列中,对应于sup_item ..但没有快乐:-(

会计申请美元金额使用浮点数还是小数点?

我们正在重写VB.NET和SQL Server中的传统会计系统。 我们引入了一个新的.NET / SQL程序员团队来进行重写。 该系统的大部分已经完成与美元金额使用浮动。 我编程的遗留系统语言没有浮点数,所以我可能会使用十进制数。 你的build议是什么? 应该使用浮点数还是小数点数据types? 这两者的优点和缺点是什么? 一个骗局在我们的日常scrum中提到,当你计算一个返回结果超过两位小数的数量时,你必须小心。 这听起来像你将不得不四舍五入小数点后两位。 另一个Con是所有的显示和打印量必须有格式声明,显示两个小数位。 我注意到几次没有完成,数额看起来不正确。 (即10.2或10.2546) 一个职业是浮动只占用8个字节在十进制将占用9个字节(十进制12,2)

SQL Server中的本地和全局临时表

SQL Server中的本地和全局临时表有什么区别?

SQL Server中从date+时间获取date的最有效方法?

在MS SQL 2000和2005中,给定date时间如“2008-09-25 12:34:56”什么是最有效的方式来获取仅包含“2008-09-25”的date时间? 重复在这里 。

使用c#中的参数调用存储过程

我可以在我的程序中进行删除,插入和更新,并尝试通过调用从数据库创build的存储过程进行插入。 这个button插入我做得很好。 private void btnAdd_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(dc.Con); SqlCommand cmd = new SqlCommand("Command String", con); da.InsertCommand = new SqlCommand("INSERT INTO tblContacts VALUES (@FirstName, @LastName)", con); da.InsertCommand.Parameters.Add("@FirstName", SqlDbType.VarChar).Value = txtFirstName.Text; da.InsertCommand.Parameters.Add("@LastName", SqlDbType.VarChar).Value = txtLastName.Text; con.Open(); da.InsertCommand.ExecuteNonQuery(); con.Close(); dt.Clear(); da.Fill(dt); } 这是调用名为sp_Add_contact的过程来添加联系人的button的开始。 sp_Add_contact(@FirstName,@LastName)的两个参数。 我在谷歌search一个很好的例子,但我没有发现什么有趣的。 private void button1_Click(object sender, EventArgs e) { […]

最好的方式来从string中删除的HTML标记在SQL Server中?

我有SQL Server 2005中包含HTML标记的数据,我想剥去所有的,只留下标签之间的文本。 理想情况下,也可以用&lt; 与<等 有没有一个简单的方法来做到这一点,或有人已经有一些示例SQL代码? 我没有能力添加扩展存储的特效等,所以更喜欢纯SQL方法(最好是一个向后兼容SQL 2000)。 我想检索数据与剥离出来的HTML,而不是更新它,所以理想情况下,它将被写为一个函数,以方便重用。 所以例如转换这个: <B>Some useful text</B>&nbsp; <A onclick="return openInfo(this)" href="http://there.com/3ce984e88d0531bac5349" target=globalhelp> <IMG title="Source Description" height=15 alt="Source Description" src="/ri/new_info.gif" width=15 align=top border=0> </A>&gt;&nbsp;<b>more text</b></TD></TR> 对此: Some useful text > more text

取消转换列名称

我有一张表格StudentMarks ,列Name, Maths, Science, English 。 数据就像 Name, Maths, Science, English Tilak, 90, 40, 60 Raj, 30, 20, 10 我想要把它安排如下: Name, Subject, Marks Tilak, Maths, 90 Tilak, Science, 40 Tilak, English, 60 With unpivot我能够得到名称,正确标记,但无法将源表中的列名称获取到所需结果集中的Subject列。 我怎样才能做到这一点? 我到目前为止已经达到以下查询(获得名称,标记) select Name, Marks from studentmarks Unpivot ( Marks for details in (Maths, Science, English) ) as UnPvt

在SQL Server中存储图像?

我已经做了一个小型的演示网站,我在图像存储在SQL服务器上的图像列。 我有几个问题是… 这是一个坏主意吗? 当它增长时,它会影响我网站的性能吗? 另一种方法是将图像存储在光盘上,并只将该图像的引用存储在数据库中。 这是很多人都有的共同困境。 如果可以的话,我会欢迎一些build议,实际上会很乐意尽可能减less错误。

什么时候应该在sql server中使用表variablesvs临时表?

我正在学习表variables的更多细节。 它说临时表总是在磁盘上,表variables在内存中,也就是说,表variables的性能比临时表好,因为表variables比临时表使用更less的IO操作。 但有时,如果表variables中的logging太多,无法存储在内存中,则表variables将像临时表一样放在磁盘上。 但是我不知道“太多的logging”是什么。 100,000条logging? 还是100万条logging? 我怎么知道我使用的表variables是在内存中还是在磁盘上? 有没有在SQL Server 2005中的任何function或工具来衡量表variables的规模,或让我知道什么时候表variables从内存放在磁盘上?

我可以在JOIN条件下使用CASE语句吗?

以下图像是Microsoft SQL Server 2008 R2系统视图的一部分。 从图中我们可以看到sys.partitions和sys.allocation_units之间的关系取决于sys.allocation_units的值。 所以为了将它们结合在一起,我会写下类似这样的东西: SELECT * FROM sys.indexes i JOIN sys.partitions p ON i.index_id = p.index_id JOIN sys.allocation_units a ON CASE WHEN a.type IN (1, 3) THEN a.container_id = p.hobt_id WHEN a.type IN (2) THEN a.container_id = p.partition_id END 但是上面的代码给出了一个语法错误。 我想这是因为CASE声明。 任何人都可以帮忙解释一下吗? 谢谢! 添加错误消息: 消息102,级别15,状态1,行6'='附近语法不正确。