小编Jas*_*n M的帖子

IF服务器中的UPDATE()触发器

如果有的话:

IF UPDATE (col1)
Run Code Online (Sandbox Code Playgroud)

...在表上的SQL服务器触发器中,仅当col1已更改或已更新时才返回true吗?

我有一个常规的更新查询

UPDATE table-name 
   SET col1 = 'x', 
       col2 =  'y' 
 WHERE id = 999
Run Code Online (Sandbox Code Playgroud)

现在关注的是,如果"col1"先前为"x",那么我们将其更新为"x"将IF UPDATE ("col1")触发返回True或不返回?

我正面临这个问题,因为我的保存查询对于所有列都是通用的,但是当我添加这个条件时它会返回True,即使它没有被更改...所以我担心在这种情况下该怎么做如果我想添加这样的条件?

sql sql-server triggers sql-server-2005

30
推荐指数
2
解决办法
7万
查看次数

SQL语句中的动态别名

我想根据SQL Server中查询中某些其他列名的值显示别名.例如

SELECT P.Amount AS (CASE P.Type WHEN 'Individual' THEN 'Salary' ELSE 'Profit' END)
  FROM Person P
Run Code Online (Sandbox Code Playgroud)

我知道上面的说法不对,但这样的事情会有所帮助.

sql t-sql sql-server sql-server-2005

9
推荐指数
1
解决办法
1万
查看次数

在SSIS中使用临时表

我在SQL Server中的存储过程中使用临时表.我试图在OLE DB源代码编辑器中使用该SP.

我可以看到在Build Query按钮附带的Query Builder中返回的数据输出.但是,当我单击列选项卡时,我收到以下错误.

- TITLE:Microsoft Visual Studio

数据流任务错误[OLE DB源[1]]:SSIS错误代码DTS_E_OLEDBERROR.发生OLE DB错误.错误代码:0x80004005.OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005描述:"无效的对象名称'## Payment'.".

数据流任务出错[OLE DB源[1]]:无法从数据源检索列信息.确保数据库中的目标表可用.

这是否意味着我不能在SP中使用临时表,如果我希望它被SS​​IS使用

ssis sql-server-2008 visual-studio-2008

8
推荐指数
3
解决办法
2万
查看次数

全局临时表删除操作

如何检查SQL服务器中是否存在全局临时表,如果是,则删除该全局临时表?

我正在尝试执行此操作:

IF OBJECT_ID('##Table', 'U') IS NOT NULL  
  DROP TABLE ##Table
Run Code Online (Sandbox Code Playgroud)

......但它不起作用.

sql t-sql sql-server sql-server-2005 temp-tables

7
推荐指数
2
解决办法
1万
查看次数

不完整的XML属性

我是通过dataset.GetXML()方法从Dataset创建XML.我想为它添加属性

            XmlAttribute attr = xmlObj.CreateAttribute("xmlns:xsi");
            attr.Value = "http://www.createattribute.com";
            xmlObj.DocumentElement.Attributes.Append(attr);

            attr = xmlObj.CreateAttribute("xsi:schemaLocation");
            attr.Value = "http://www.createattribute.com/schema.xsd";
            xmlObj.DocumentElement.Attributes.Append(attr);

            xmlObj.DocumentElement.Attributes.Append(attr);
Run Code Online (Sandbox Code Playgroud)

但是当我打开XML文件时,我发现schemaLocation的属性中没有"xsi:"

           <root xmlns="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:xsi="http://www.createattribute.com"     
           schemaLocation="http://www.createattribute.com/schema.xsd">
Run Code Online (Sandbox Code Playgroud)

我希望属性像

           xsi:schemaLocation="http://www.createattribute.com/schema.xsd"
Run Code Online (Sandbox Code Playgroud)

这总是这样,或者我在这里遗漏了一些东西.我很好奇是否有人可以帮助我,如果可以解决这个问题,或者当我找到解决方案时给我一些URL

谢谢

c# xml xml-serialization c#-3.0

2
推荐指数
1
解决办法
2360
查看次数

使用内部联接从子表中获取TOP行

我希望内部联接基于ID的子表并获取子表的顶行,我没有加入从子表中获取任何数据,它只是为了验证父表的子表记录是否存在.如果我不包括TOP行,则有可能在结果集中获得多行父级.

- 同一PARENTID的结果集中有多行可能

选择P.PARENTID从父母P内部
加入儿童C在C.PARENTID = P.PARENTID和C.ISACTIVE = 1

我需要类似的东西

从父母P内部联接中选择P.PARENTID
(从孩子中选择前1名)作为
C.PARENTID = P.PARENTID和C.ISACTIVE = 1

我不确定如何使它工作我很好奇,如果有人可以帮助我或提供任何我可以找到解决方案的网址

sql sql-server sql-server-2008

0
推荐指数
1
解决办法
852
查看次数