我试着改变一个默认的参数值: ALTER PROCEDURE [dbo].[my_sp] @currentDate datetime = GETDATE() 和所有的SQL预编译器给我这个错误: Msg 102,Level 15,State 1,Procedure my_sp,Line 8'(')附近语法不正确。 我已经创build了这个程序。 (我不知道这是相关的。)我使用一个空的默认值,并稍后检查,但这似乎不正确。 我可以在一行吗? 更新:我正在脱离MSDN的存储过程参数的描述 : [= default]是参数的默认值。 如果定义了默认值,则可以执行该function而不指定该参数的值。 注意: 除了varchar(max)和varbinary(max)数据types外,可以为CLR函数指定默认参数值。 当函数的参数具有默认值时,必须在调用该函数以检索默认值时指定关键字DEFAULT。 此行为不同于在存储过程中使用具有默认值的参数,其中省略该参数也意味着默认值。 我读这个错吗? 非常感谢。
在SQL中,如何删除表中特定列的前4个字符的值? 列名是Student Code ,示例值是ABCD123Stu1231 。 我想从我的表中删除前4个字符的所有logging 请指导我
我有一个脚本中的表variables(而不是存储过程)。 两个问题: 如何删除表variables? Drop Table @varName给出“错误的snytax”错误。 我应该一直这样做吗? 我听说这是一个很好的做法。 这样的小脚本真的有必要吗? 这是我的代码: Declare @projectList table( name varchar(40) NOT NULL); Insert Into @projectList Values ('BCR-00021') Select * From @projectList Drop Table @projectList — does not work
SELECT (InvoiceTotal – PaymentTotal – CreditTotal) AS BalanceDue FROM Invoices WHERE BalanceDue > 0 –error 在选定列的列表中设置为variables的计算值“BalanceDue”不能在WHERE子句中使用。 有没有办法呢? 在这个相关的问题中( 在Where子句中使用MySQL Select Statment中的variables ),似乎答案会是,实际上,不,您只需写出计算( 并在查询中执行计算)两次,而不是这是令人满意的。
比方说,我必须实现一个必须返回一个表作为结果的T-SQL代码。 我可以实现一个表值函数或者一个返回一组行的存储过程。 我应该使用什么? 总之,我想知道的是: 函数和存储过程之间的主要区别是哪些? 我需要考虑使用哪一种考虑因素?
这甚至是一个有效的问题吗? 我有一个使用MSTDC的.NET Windows应用程序,它引发一个exception: System.Transactions.TransactionManagerCommunicationException:分布式事务pipe理器(MSDTC)的networking访问已被禁用。 请使用组件服务pipe理工具—> System.Runtime.InteropServices.COMException(0x8004D024)在MSDTC的安全configuration中启用DTC以进行networking访问:事务pipe理器已禁用其对远程/networking事务的支持。 (Exception from HRESULT:0x8004D024)at System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize,Byte [] propgationToken,IntPtr managedIdentifier,Guid&transactionIdentifier,OletxTransactionIsolationLevel&isolationLevel,ITransactionShim&transactionShim)…. 我遵循Kbalertz指南,在安装了应用程序的PC上启用MSDTC ,但仍然出现错误。 我想知道这是否是一个数据库问题? 如果是的话,我该如何解决呢?
我有这样的查询: SELECT * FROM Cases WHERE created_at BETWEEN '2013-05-01' AND '2013-05-01' 但即使在1日有数据,也没有结果。 created_at看起来像2013-05-01 22:25:19 ,我怀疑它必须与时间? 这怎么解决? 它工作得很好,如果我做更大的date范围,但它应该(包括)工作与一个单一的date。
在SQL Server中,您可以使用IsNull()函数检查一个值是否为空,如果是,则返回另一个值。 现在我想知道在C#中是否有类似的东西。 例如,我想要做类似的事情: myNewValue = IsNull(myValue, new MyValue()); 代替: if (myValue == null) myValue = new MyValue(); myNewValue = myValue; 谢谢。
我试图testing是否存在一个给定的默认约束。 我不想使用sysobjects表,但更标准的INFORMATION_SCHEMA。 我已经使用它来检查表和主键约束,但我没有看到任何地方的默认约束。 他们不在吗? (我正在使用MS SQL Server 2000)。 编辑:我期待得到的约束的名称。
我努力了: ALTER TABLE MY_TABLE ADD STAGE INT NOT NULL; 但它给出了这个错误消息: ALTER TABLE只允许添加可以包含空值或指定了DEFAULT定义的列