标签: t-sql

如何在SQL Server 2005中的一个语句中更新两个表?

我想一次更新两个表.我如何在SQL Server 2005中这样做?

UPDATE 
  Table1, 
  Table2
SET 
  Table1.LastName='DR. XXXXXX', 
  Table2.WAprrs='start,stop'
FROM 
  Table1 T1, 
  Table2 T2
WHERE 
  T1.id = T2.id
AND 
  T1.id = '010008'
Run Code Online (Sandbox Code Playgroud)

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

183
推荐指数
6
解决办法
47万
查看次数

更改列,添加默认约束

我有一个表,其中一列是datetime类型的"Date".我们决定为该列添加默认约束

Alter table TableName
alter column dbo.TableName.Date default getutcdate() 
Run Code Online (Sandbox Code Playgroud)

但这给了我错误:

"."附近的语法不正确

有没有人在这里看到任何明显错误的东西,我错过了(除了有一个更好的名称列)

t-sql sql-server alter-table sql-server-2008 alter-column

180
推荐指数
4
解决办法
33万
查看次数

如何在T-SQL存储过程中使用可选参数?

我正在创建一个存储过程来搜索表.我有许多不同的搜索字段,所有这些字段都是可选的.有没有办法创建一个存储过程来处理这个?假设我有一个包含四个字段的表:ID,FirstName,LastName和Title.我可以这样做:

CREATE PROCEDURE spDoSearch
    @FirstName varchar(25) = null,
    @LastName varchar(25) = null,
    @Title varchar(25) = null
AS
    BEGIN
        SELECT ID, FirstName, LastName, Title
        FROM tblUsers
        WHERE
            FirstName = ISNULL(@FirstName, FirstName) AND
            LastName = ISNULL(@LastName, LastName) AND
            Title = ISNULL(@Title, Title)
    END
Run Code Online (Sandbox Code Playgroud)

这种作品.但是它会忽略FirstName,LastName或Title为NULL的记录.如果未在搜索参数中指定Title,我想包含Title为NULL的记录 - 对于FirstName和LastName是相同的.我知道我可以用动态SQL做到这一点,但我想避免这种情况.

t-sql optional-parameters

179
推荐指数
5
解决办法
31万
查看次数

在表变量上创建索引

你能index在一个表变量上创建SQL Server 2000吗?

DECLARE @TEMPTABLE TABLE (
        [ID] [int] NOT NULL PRIMARY KEY
        ,[Name] [nvarchar] (255) COLLATE DATABASE_DEFAULT NULL 
)
Run Code Online (Sandbox Code Playgroud)

我可以在Name上创建索引吗?

sql t-sql sql-server indexing table-variable

178
推荐指数
2
解决办法
29万
查看次数

是否有可能直接选择EXISTS?

我想知道是否有可能做这样的事情(这不起作用):

select cast( (exists(select * from theTable where theColumn like 'theValue%') as bit)

看起来它应该是可行的,但许多应该在SQL中工作的东西不会;)我已经看到了这方面的解决方法(SELECT 1 where ... Exists ...)但似乎我应该能够将存在函数的结果转换为一点并完成它.

sql t-sql sql-server

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

更改varchar列的最大长度?

我正在尝试将varchar列的长度从255个字符更新为500而不会丢失内容.我之前已经删除并重新创建了表格,但我从未接触过alter statement,这是我认为我需要用来做这个的.我在这里找到了文档:ALTER TABLE(Transfact-SQL)但是我无法做出正面或反面.

到目前为止,我有以下内容(基本上没有任何遗憾):

alter table [progennet_dev].PROGEN.LE
alter column UR_VALUE_3
Run Code Online (Sandbox Code Playgroud)

我该如何处理?那里有没有更好的文件说明(我做了一些搜索示例声明但是空了)?

sql t-sql sql-server varchar sql-server-2008

177
推荐指数
4
解决办法
30万
查看次数

Sql Server字符串到日期转换

我想转换像这样的字符串:

'10/15/2008 10:06:32 PM'
Run Code Online (Sandbox Code Playgroud)

进入Sql Server中的等效DATETIME值.

在Oracle中,我会说:

TO_DATE('10/15/2008 10:06:32 PM','MM/DD/YYYY HH:MI:SS AM')
Run Code Online (Sandbox Code Playgroud)

这个问题暗示我必须将字符串解析为其中一种标准格式,然后使用其中一种代码进行转换.对于如此平凡的行动来说,这似乎是荒谬的.有没有更简单的方法?

t-sql sql-server datetime sql-server-2005 string-to-datetime

176
推荐指数
8
解决办法
88万
查看次数

如何在T-SQL中的XML字符串中的属性中转义双引号?

非常简单的问题 - 我有一个属性,我想要双引号.我如何逃避它们?我试过了

  • \"
  • ""
  • \\"

我已经为所有这些变量设置了xml类型和varchar(max)的@xml变量.

 declare @xml xml --(or varchar(max) tried both)

 set @xml = '<transaction><item value="hi "mom" lol" 
    ItemId="106"  ItemType="2"  instanceId="215923801"  dataSetId="1" /></transaction>'

 declare @xh int
 exec sp_xml_preparedocument @xh OUTPUT, @xml

 insert into @commits --I declare the table, just removed it for brevity
 select
    x.*
 from openxml(@xh,'/transaction/item')
  WITH (
    dataItemId int,
     dataItemType int,
    instanceId int,
    dataSetId int,
    value varchar(max)
  ) x
Run Code Online (Sandbox Code Playgroud)

xml t-sql escaping

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

如何等待2秒

如何在指定的秒数内导致延迟执行?

这不是这样的:

WAITFOR DELAY '00:02';
Run Code Online (Sandbox Code Playgroud)

有人可以帮我格式化吗?

t-sql sql-server sql-server-2008

172
推荐指数
3
解决办法
27万
查看次数

SQL RANK()与ROW_NUMBER()

我对这些之间的差异感到困惑.运行以下SQL会获得两个完美的结果集.有人可以解释一下这些差异吗?

SELECT ID, [Description], RANK()       OVER(PARTITION BY StyleID ORDER BY ID) as 'Rank'      FROM SubStyle
SELECT ID, [Description], ROW_NUMBER() OVER(PARTITION BY StyleID ORDER BY ID) as 'RowNumber' FROM SubStyle
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

172
推荐指数
4
解决办法
22万
查看次数