基本上我想PRINT在用户定义的函数中使用语句来帮助我的调试.
但是我收到以下错误;
在函数的"PRINT"中无效使用副作用或时间相关的运算符.
这可不可以吗?
无论如何,以帮助我的用户定义函数调试?
我有以下代码:
const string Sql =
@"select distinct [name]
from tblCustomers
left outer join tblCustomerInfo on tblCustomers.Id = tblCustomerInfo.CustomerId
where (tblCustomer.Name LIKE '%@SEARCH%' OR tblCustomerInfo.Info LIKE '%@SEARCH%');";
using (var command = new SqlCommand(Sql, Connection))
{
command.Parameters.AddWithValue("@SEARCH", searchString);
...
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,我也试过这个:
const string Sql =
@"select distinct [name]
from tblCustomers
left outer join tblCustomerInfo on tblCustomers.Id = tblCustomerInfo.CustomerId
where (tblCustomer.Name LIKE @SEARCH OR tblCustomerInfo.Info LIKE @SEARCH );";
using (var command = new SqlCommand(Sql, Connection))
{
command.Parameters.AddWithValue("@SEARCH", "'%" + searchString + "%'");
... …Run Code Online (Sandbox Code Playgroud) 我有一个使用以下模式创建的表:
CREATE TABLE [dbo].[Visualizations]
(
VisualizationID int identity (1,1) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
由于表没有可设置的字段,我不知道如何插入记录.我试过了:
INSERT INTO [Visualizations];
INSERT INTO [Visualizations] () VALUES ();
Run Code Online (Sandbox Code Playgroud)
都没有工作.这样做的正确语法是什么?
编辑:由于很多人似乎对我的表感到困惑,因此它纯粹用于表示多个子表的父级...每个子表都用FK引用这个表,每个FK都是PK,所以在所有子表中在这些表中,ID是唯一的.
如果你搜索:
你会看到许多试图破解的例子:
1) declare @q varchar(8000) select @q = 0x57414954464F522044454C4159202730303A30303A313527 exec(@q) --
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?它正在尝试使用哪个数据库?你知道有关于此的任何建议吗?
我正在创建一个将在MS SQL服务器中运行的脚本.此脚本将运行多个语句,并且需要是事务性的,如果其中一个语句失败,则停止整体执行并回滚任何更改.
在发出ALTER TABLE语句以向表中添加列然后更新新添加的列时,我在创建此事务模型时遇到问题.为了立即访问新添加的列,我使用GO命令执行ALTER TABLE语句,然后调用我的UPDATE语句.我面临的问题是我无法在IF语句中发出GO命令.IF语句在我的事务模型中很重要.这是我尝试运行的脚本的示例代码.另请注意,发出GO命令会丢弃@errorCode变量,并且需要在使用之前在代码中声明(这不在下面的代码中).
BEGIN TRANSACTION
DECLARE @errorCode INT
SET @errorCode = @@ERROR
-- **********************************
-- * Settings
-- **********************************
IF @errorCode = 0
BEGIN
BEGIN TRY
ALTER TABLE Color ADD [CodeID] [uniqueidentifier] NOT NULL DEFAULT ('{00000000-0000-0000-0000-000000000000}')
GO
END TRY
BEGIN CATCH
SET @errorCode = @@ERROR
END CATCH
END
IF @errorCode = 0
BEGIN
BEGIN TRY
UPDATE Color
SET CodeID= 'B6D266DC-B305-4153-A7AB-9109962255FC'
WHERE [Name] = 'Red'
END TRY
BEGIN CATCH
SET @errorCode = @@ERROR
END CATCH
END
-- **********************************
-- …Run Code Online (Sandbox Code Playgroud) 我有一个包含2列的表,Country和Qty.田野国家有所有国家的截然不同的缩略词.现在我的工作是用实际的国家名称替换这些首字母缩略词.现在有另一个表格,包含首字母缩写词和相应的国家名称.我必须从第二个表中获取值并更新Acronyms匹配的第一个表.请帮忙..
我有一个简单的表格结构如下:
表tempData
????????????????????
? NAME ? MARKS ?
????????????????????
? Narendra ? 80 ?
? Ravi ? 85 ?
? Sanjay ? 90 ?
????????????????????
Run Code Online (Sandbox Code Playgroud)
而且我还有另一个表名为tempDataView,就像这样
????????????????????
? NAME ? MARKS ?
????????????????????
? Narendra ? ?
? Narendra ? ?
? Narendra ? ?
? Narendra ? ?
? Ravi ? ?
? Ravi ? ?
? Sanjay ? ?
????????????????????
Run Code Online (Sandbox Code Playgroud)
我想更新表tempDataView,通过设置标志 根据tempDataView - 名称相比的TempData - 名称
是的,让我告诉你我尝试了什么,我试图用Cursor解决这个问题,并且它完美地解决了,但我找到了使用Subquery解决它的方法 …
为SQL Server数据库中的每个外键创建索引是一种好习惯吗?
我可以添加一个我指定为NOT NULL的列,我不想指定DEFAULT值,但是MS-SQL 2005说:
ALTER TABLE只允许添加可以包含空值的列,或者指定了DEFAULT定义,或者添加的列是标识或时间戳列,或者如果以前的条件都不满足,则表必须为空以允许添加这个专栏.列'test'不能添加到非空表'shiplist'中,因为它不满足这些条件.
如果是,请告诉我语法,如果不,请说明原因.
我的任务要求我找出"每个日期写了多少发票?"
我有点陷入困境,并向我的教授寻求帮助.她通过电子邮件向我发送了一个问题,回答了这个问题,"每种类型和版本的炉子已经建成了多少?对于挑战但没有额外的积分,包括炉灶的总数."
这是她发给我的查询:
SELECT STOVE.Type + STOVE.Version AS 'Type+Version'
, COUNT(*) AS 'The Count'
FROM STOVE
GROUP BY STOVE.Type + STOVE.Version WITH ROLLUP;
Run Code Online (Sandbox Code Playgroud)
所以,我调整了那个查询,直到满足了我的需求.这就是我想出的:
SELECT InvoiceDt
, COUNT(InvoiceNbr) AS 'Number of Invoices'
FROM INVOICE
GROUP BY InvoiceDt WITH ROLLUP
ORDER BY InvoiceDt ASC;
Run Code Online (Sandbox Code Playgroud)
它返回了我想要的以下结果.
无论如何,我决定阅读ROLLUP条款,并从微软的一篇文章开始.它说ROLLUP子句类似于CUBE子句,但是它通过以下方式区别于CUBE子句:
所以,我决定用CUBE替换我的查询中的ROLLUP,看看会发生什么.他们产生了相同的结果.我猜这就是我感到困惑的地方.
看来,如果你使用的是我在这里的查询类型,那么这两个条款之间没有任何实际的区别.是对的吗?或者,我不明白什么?当我读完微软的文章时,我曾想过,使用CUBE子句我的结果应该是不同的.
t-sql ×10
sql-server ×8
sql ×6
ado.net ×1
alter-table ×1
c# ×1
insert ×1
security ×1
sql-like ×1
sql-update ×1
transactions ×1
windows ×1