如果不存在,我需要添加一个特定的列.我有类似以下内容,但它总是返回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
我想INNER JOIN在SQL Server 2008中删除使用.
但我得到这个错误:
消息156,级别15,状态1,行15
关键字"INNER"附近的语法不正确.
我的代码:
DELETE FROM WorkRecord2
INNER JOIN Employee ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'
Run Code Online (Sandbox Code Playgroud) 当我在SQL Server中创建一个表并保存它时,如果我尝试编辑表设计,比如将列类型从int更改为real,我会收到以下错误:
不允许保存更改.您所做的更改需要删除并重新创建下表.您已对无法重新创建或启用的表进行了更改,该选项会阻止保存需要重新创建表的更改.
为什么我要重新创建表?我只想将数据类型更改smallint为real.
该表是空的,直到现在我才使用它.
我已将记录插入SQL Server数据库表.该表定义了主键,并且自动增量标识种子设置为"是".这主要是因为在SQL Azure中,每个表都必须定义主键和标识.
但是由于我必须从表中删除一些记录,这些表的标识种子将受到干扰,并且索引列(自动生成的增量为1)将受到干扰.
删除记录后,如何重置标识列,以使列按数字顺序递增?
标识列不用作数据库中任何位置的外键.
我正在使用SQL Server 2008和Navicat.我需要使用SQL重命名表中的列.
ALTER TABLE table_name RENAME COLUMN old_name to new_name;
Run Code Online (Sandbox Code Playgroud)
此声明不起作用.
当IDENTITY_INSERT设置为OFF 时,为什么我在插入时出错?
如何在SQL Server 2008中正确启用它?是使用SQL Server Management Studio吗?
我运行了这个查询:
SET IDENTITY_INSERT Database. dbo. Baskets ON
Run Code Online (Sandbox Code Playgroud)
然后我在控制台中收到消息,命令已成功完成.但是当我运行应用程序时,它仍然给出了如下所示的错误:
Cannot insert explicit value for identity column in table 'Baskets' when
IDENTITY_INSERT is set to OFF.
Run Code Online (Sandbox Code Playgroud) 在学习70-433考试的同时,我注意到你可以用以下两种方式之一创建覆盖索引.
CREATE INDEX idx1 ON MyTable (Col1, Col2, Col3)
Run Code Online (Sandbox Code Playgroud)
- 要么 -
CREATE INDEX idx1 ON MyTable (Col1) INCLUDE (Col2, Col3)
Run Code Online (Sandbox Code Playgroud)
INCLUDE条款对我来说是新的.为什么要使用它以及在确定是否使用INCLUDE子句创建覆盖索引时,您会建议使用什么准则?
你能帮我用SQL语句来查找多个字段的重复项吗?
例如,在伪代码中:
select count(field1,field2,field3)
from table
where the combination of field1, field2, field3 occurs multiple times
Run Code Online (Sandbox Code Playgroud)
并且从上面的陈述中,如果有多次出现,我想选择除第一个以外的每个记录.
我有一个有两列的表,ID和Value.我想在第二列中更改某些字符串的一部分.
表格示例:
ID Value
---------------------------------
1 c:\temp\123\abc\111
2 c:\temp\123\abc\222
3 c:\temp\123\abc\333
4 c:\temp\123\abc\444
Run Code Online (Sandbox Code Playgroud)
现在,123\中Value字符串是不必要的.我试着UPDATE和REPLACE:
UPDATE dbo.xxx
SET Value = REPLACE(Value, '%123%', '')
WHERE ID <= 4
Run Code Online (Sandbox Code Playgroud)
当我执行脚本时,SQL Server不会报告错误,但它也不会更新任何内容.这是为什么?
sql-server-2008 ×10
sql-server ×8
sql ×7
t-sql ×3
alter-table ×1
database ×1
indexing ×1
inner-join ×1
menuitem ×1
replace ×1
save ×1
sql-delete ×1
ssms ×1
string ×1