标签: t-sql

如何从SQL Server中的SELECT更新?

SQL Server中,可以insert使用SELECT语句进入表:

INSERT INTO Table (col1, col2, col3)
SELECT col1, col2, col3 
FROM other_table 
WHERE sql = 'cool'
Run Code Online (Sandbox Code Playgroud)

是否也可以通过?更新SELECT?我有一个包含值的临时表,并希望使用这些值更新另一个表.也许是这样的:

UPDATE Table SET col1, col2
SELECT col1, col2 
FROM other_table 
WHERE sql = 'cool'
WHERE Table.id = other_table.id
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server select

3546
推荐指数
31
解决办法
409万
查看次数

如何检查SQL Server表中是否存在列?

如果不存在,我需要添加一个特定的列.我有类似以下内容,但它总是返回false:

IF EXISTS(SELECT *
          FROM   INFORMATION_SCHEMA.COLUMNS
          WHERE  TABLE_NAME = 'myTableName'
                 AND COLUMN_NAME = 'myColumnName') 
Run Code Online (Sandbox Code Playgroud)

如何检查SQL Server数据库的表中是否存在列?

t-sql sql-server sql-server-2008 sql-server-2012 sql-server-2016

1792
推荐指数
24
解决办法
115万
查看次数

如何仅从SQL Server DateTime数据类型返回日期

SELECT GETDATE()
Run Code Online (Sandbox Code Playgroud)

返回: 2008-09-22 15:24:13.790

我希望那个日期部分没有时间部分: 2008-09-22 00:00:00.000

我怎么能得到它?

sql t-sql sql-server datetime date

1692
推荐指数
32
解决办法
266万
查看次数

在单个SQL查询中插入多行?

我有一组数据要一次插入,比如4行.

我的表有三列:Person,IdOffice.

INSERT INTO MyTable VALUES ("John", 123, "Lloyds Office");
INSERT INTO MyTable VALUES ("Jane", 124, "Lloyds Office");
INSERT INTO MyTable VALUES ("Billy", 125, "London Office");
INSERT INTO MyTable VALUES ("Miranda", 126, "Bristol Office");
Run Code Online (Sandbox Code Playgroud)

我可以Person在一个单独的所有4行Id

sql t-sql sql-server insert

1604
推荐指数
4
解决办法
252万
查看次数

将存储过程的结果插入临时表

我该怎么办SELECT * INTO [temp table] FROM [stored procedure]?不FROM [Table],没有定义[temp table]

Select所有数据都可以BusinessLine正常tmpBusLine工作.

select *
into tmpBusLine
from BusinessLine
Run Code Online (Sandbox Code Playgroud)

我尝试相同,但使用stored procedure返回数据,并不完全相同.

select *
into tmpBusLine
from
exec getBusinessLineHistory '16 Mar 2009'
Run Code Online (Sandbox Code Playgroud)

输出消息:

消息156,级别15,状态1,行2关键字'exec'附近的语法不正确.

我已经阅读了几个创建一个与输出存储过程结构相同的临时表的例子,它工作正常,但不提供任何列会很好.

sql t-sql sql-server stored-procedures sql-server-2005

1526
推荐指数
24
解决办法
189万
查看次数

1514
推荐指数
12
解决办法
146万
查看次数

如何在SQL SELECT中执行IF ... THEN?

我如何IF...THENSQL SELECT声明中执行?

例如:

SELECT IF(Obsolete = 'N' OR InStock = 'Y' ? 1 : 0) AS Saleable, * FROM Product
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server if-statement case

1438
推荐指数
26
解决办法
353万
查看次数

如何在SQL中使用JOIN执行UPDATE语句?

我需要使用其"父"表中的数据更新SQL Server 2005中的此表,如下所示:

拍卖

id (int)
udid (int)
assid (int)
Run Code Online (Sandbox Code Playgroud)

UD

id  (int)
assid  (int)
Run Code Online (Sandbox Code Playgroud)

sale.assid包含要更新的正确值ud.assid.

什么查询会这样做?我在考虑,join但我不确定是否可能.

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

1262
推荐指数
14
解决办法
152万
查看次数

如何删除重复的行?

从相当大的SQL Server表中删除重复行的最佳方法是什么(即300,000多行)?

当然,由于RowID身份字段的存在,行不会是完美的重复.

MyTable的

RowID int not null identity(1,1) primary key,
Col1 varchar(20) not null,
Col2 varchar(2048) not null,
Col3 tinyint not null
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server duplicates

1254
推荐指数
31
解决办法
118万
查看次数

获取数据库中所有表的大小

我继承了一个相当大的SQL Server数据库.考虑到它包含的数据,它似乎占用了比我预期更多的空间.

有没有一种简单的方法可以确定每个表占用的磁盘空间大小?

t-sql sql-server

1180
推荐指数
18
解决办法
123万
查看次数