标签: sql-server-2012

使用NULL值更新所有列

我有一个非常简单的表让我们称它为三星.在这个表中,我有一个名为description的列,其中两个值的samsung_id为200和201.对于这两个条目,我有一个值为"NULL"的描述.我希望能够更新所有这些.我知道我可以执行以下命令:

UPDATE SAMSUNG
SET description = 'square'
WHERE samsung_id = 200 OR samsung_id = 201;
Run Code Online (Sandbox Code Playgroud)

为了达到我想要的结果,但是如果你的表有1,000个条目并且你不想列出它们怎么办呢.如何运行此命令以取出NULL的所有值并替换为square.

sql database sql-server-2012

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

无法连接到MSSQL数据库2012

我在本教程中使用了代码片段来连接到MSSQL darabase.

http://www.java-tips.org/other-api-tips/jdbc/how-to-connect-microsoft-sql-server-using-jdbc.html

但是当我运行程序时,我收到了这个错误.

     java.sql.SQLException: Network error IOException: Connection timed out: connect
    at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:410)
    at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
    at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
    at java.sql.DriverManager.getConnection(DriverManager.java:579)
    at java.sql.DriverManager.getConnection(DriverManager.java:221)
    at DB.dbConnect(Test.java:28)
    at Test.main(Test.java:12)
Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
    at java.net.Socket.connect(Socket.java:579)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:307)
    at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:257)
    at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:311)
    ... 6 more
Run Code Online (Sandbox Code Playgroud)

我的连接网址是

db.dbConnect(
     "jdbc:jtds:sqlserver://CSLK-PT12DB:1434/R8_JBOSS_MSSQL_Archived_Migrated_Beta","spider3","spider3");
    }
Run Code Online (Sandbox Code Playgroud)

这个例外的原因是什么以及如何解决?

java sql-server-2012

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

可以消除这个子查询?

我有一个说明字段的文件表

DocumentID int - PK and autoincrement 
LastStatusChangedDateTime - datetime 
JurisdictionID - int 
DocumentStatusID - int
Run Code Online (Sandbox Code Playgroud)

现在我想引入一个名为的计算列CanChangeStatus.这就像一个队列.因此,如果文档是第一个,则可以更改其状态.这是我的查询:

Select d.DocumentID,  
(
    Select Cast(Case When d.DocumentID = v.DocumentID Then 1 Else 0 End as bit)
    From
    (
        Select Top 1 DocumentID
        From Documents
        Where JurisdictionID = d.JurisdictionID
            And
        DocumentStatusID = d.DocumentStatusID
        Order By LastStatusChangedDateTime 
    ) v
) as CanChangeStatus    
From Documents d
Run Code Online (Sandbox Code Playgroud)

指数是那里JurisdictionID和DocumentStatusID.罪魁祸首是子查询 - 我试图计算的方式CanChangeStatus.有什么方法可以加快速度或将此子查询转换为连接,因为连接大多比子查询快?

sql t-sql sql-server sql-server-2012

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

具有相同标记的两个布尔行的联合

我有一个select语句,它返回每个标记的元素数组:

|TAG  | Bool1 | Bool2 | Bool3 |
|-----------------------------|
|tag1 |  0    |   1   |  0    |
|tag1 |  1    |   1   |  0    |
-------------------------------
Run Code Online (Sandbox Code Playgroud)

我希望结果是两行与OR语句的并集:

_______________________________
|TAG  | Bool1 | Bool2 | Bool3 |
|-----------------------------|
|tag1 |  1    |   1   |  0    |
-------------------------------
Run Code Online (Sandbox Code Playgroud)

sql sql-server stored-procedures sql-server-2008 sql-server-2012

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

SQL引用另一个表作为外键

我正在使用Microsoft的SQL Server 2012并使用另一个表的主键创建一个表作为外键,但是它表示存在语法错误

    CREATE TABLE [dbo].[STUDENT]
    (
         STUDENT_ID  int not null Identity,
         SCHOOL_ID INT NOT NULL,
         CONSTRAINT PKEY PRIMARY KEY (STUDENT_ID),
         CONSTRAINT FKEY FOREIGN KEY (USER_ID)  REFERENCES USER (USER_ID)

     );
Run Code Online (Sandbox Code Playgroud)

它给了我,sql80001 error请帮助

sql sql-server sql-server-2012

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

如何获取MS SQL的所有列,包括视图列

我正在尝试编写一个SQL查询,它将输出表和视图中的所有列.

下面的查询只返回表列,不包括视图列

SELECT t.name AS table_name, SCHEMA_NAME(schema_id) AS schema_name, c.name AS column_name 
FROM sys.tables AS t 
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
ORDER BY schema_name, table_name;
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2012

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

从varchar中选择查询中的多个int

请考虑下表:

DECLARE @tmp_Example 
TABLE (
    TestInt int,
    TestName varchar(max)
  );

INSERT INTO @tmp_Example (TestInt, TestName)
VALUES (22,'Bob'),
(23,'James'),
(24,'Joe');

SELECT * from @tmp_Example
WHERE TestInt = 23;
Run Code Online (Sandbox Code Playgroud)

我正在进入有些人可能想为TestInt选择多个结果的情况,我收到它是这样的:

('23,24')
Run Code Online (Sandbox Code Playgroud)

在不更改表格架构的情况下,我如何支持这样的查询?我像这样摆弄它:

DECLARE @testEx as varchar(max) = '23,24';

SELECT * from @tmp_Example
WHERE TestInt = CAST(dbo.Split(@testEx,',') AS int);
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2012

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

是否有类似聚簇索引的东西可以使用可空列作为索引列的一部分创建?

哪里有一个没有主键的大表,在三个字段上有唯一索引,其中两个可以为空.

有很多应用程序代码依赖于值(或非值)NULL意味着什么,所以我们必须保留列的可空值,它们是通常是主键/聚簇索引的关键列.

对于这三个字段,是否有任何可以按索引方式进行的操作?我们刚刚将数据库升级到SQL Server 2012.

即使作为可空列,行也将在这些字段中包含唯一值.

CREATE TABLE [troublesome].[table](
[AId] [int] NOT NULL,
[BNumber] [int] NULL,
[UserId] [uniqueidentifier] NULL,...
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2008 sql-server-2012

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

非集群外键索引推荐

我的数据库中有几个表是父子关系。例如:

CREATE TABLE [dbo].[cntnr_header] 
(
    [cntnr_id]            [dbo].[uid]     NOT NULL,
    CONSTRAINT [pk_cntnr_header] PRIMARY KEY CLUSTERED ([cntnr_id] ASC),
);

CREATE TABLE [dbo].[cntnr_content] 
(
    [cntnr_content_id]  [dbo].[uid]       NOT NULL,
    [cntnr_id]          [dbo].[uid]       NOT NULL,
    CONSTRAINT [pk_cntnr_content] 
       PRIMARY KEY CLUSTERED ([cntnr_content_id] ASC),
    CONSTRAINT [fk_cntnr_content_cntnr_header] 
       FOREIGN KEY ([cntnr_id]) 
       REFERENCES [dbo].[cntnr_header] ([cntnr_id]),
);
Run Code Online (Sandbox Code Playgroud)

如您所见,当前cntnr_id在表中的外键上没有索引cntnr_content。我运行了调优向导,实际上我看到它建议为表cntnr_content_id和cntnr_id表都添加一个非聚集索引cntnr_content。我不太了解这一点,因为cntnr_content_id它已经是聚集索引。为什么会推荐这样的索引?

CREATE NONCLUSTERED INDEX [_dta_index_cntnr_content_7_821577965__K1_K2] ON [dbo].[cntnr_content]
(
    [cntnr_content_id] ASC,
    [cntnr_id] ASC
)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON …
Run Code Online (Sandbox Code Playgroud)

sql-server indexing foreign-keys sql-server-2012

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

奇怪的SQL Server错误/警告

我在SQL Server 2012中创建了一个存储过程.该过程工作正常并且执行,但我只是好奇,为什么它在过程名称下面显示这个波浪线?

下面是显示我的存储过程的图像:

在此输入图像描述

sql sql-server stored-procedures sql-server-2012

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