小编KM.*_*KM.的帖子

如何检查Sql server中是否存在约束?

我有这个sql:

ALTER TABLE dbo.ChannelPlayerSkins
    DROP CONSTRAINT FK_ChannelPlayerSkins_Channels
Run Code Online (Sandbox Code Playgroud)

但显然,在我们使用的其他一些数据库中,约束具有不同的名称.如何检查名称是否存在约束FK_ChannelPlayerSkins_Channels.

sql-server information-schema system-tables

250
推荐指数
7
解决办法
35万
查看次数

创建和填充数字表的最佳方法是什么?

我已经看到了许多不同的方法来创建和填充数字表.但是,创建和填充一个的最佳方法是什么?从最重要到最不重要的"最佳"被定义:

  • 使用最佳索引创建的表
  • 行生成最快
  • 用于创建和填充的简单代码

如果你不知道数字表是什么,请看这里:我为什么要考虑使用辅助数字表?

sql-server sql-server-2005

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

如何找到最慢的查询

使用Sql Server 2005 Profiler,您可以跟踪哪些事件,列和过滤器以查找最慢的查询和存储过程?

慢=大于N秒,为了争论10.

sql-server profiling sql-server-2005

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

具有固定滚动行和固定滚动列的大型动态大小的html表

我需要在网页上显示一个大表,并且需要阻止第一列和第一行滚动. 我想动态设置此表的垂直大小(在一些静态大小的页眉/页脚内容之间)以使其尽可能高,而不强制浏览器窗口具有垂直滚动条.

   browser window\/
+--------------------------------------------------------------+  /\
|   /\     /\  /\         /\       /\      /\     /\ /\        |  fixed static
|    web page header fields and text                           |  |  size
|   \/    \/   \/         \/       \/     \/     \/   \/       |__\/__
|               +----<<<table-scrollbar>>>>>----------------+  |  /\
|+--------------+--------+--------+--------+--------+-------+  |   |
||              |        |colspan |        |        | fixed |  |   |
||  fixed       |  fixed |  fixed | fixed  |  fixed | more> |  |   |
|+--------------+--+--+--+---+----+--+--+--+--------+-------++ |   |
||  fixed       |  |  |  |   | …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery html-table

51
推荐指数
5
解决办法
3万
查看次数

有没有人使用Right Outer Joins?

我一直使用INNER JOIN和LEFT OUTER JOIN.但是,我似乎永远不需要RIGHT OUTER JOIN.

我已经看到很多讨厌的自动生成的SQL使用正确的连接,但对我来说,这段代码是不可能的.我总是需要使用内部和左侧连接重写它来制作它的头部或尾部.

有没有人真正使用Right连接编写查询?

sql

35
推荐指数
4
解决办法
3592
查看次数

SQL Server T-SQL错误处理的最佳实践使用是什么?

我们有一个大型应用程序,主要用SQL Server 7.0编写,其中所有数据库调用都是存储过程.我们现在运行SQL Server 2005,它提供了更多的T-SQL功能.

在几乎所有SELECT,INSERT,UPDATE和DELETE之后,@@ ROWCOUNT和@@ ERROR被捕获到局部变量中并对问题进行评估.如果出现问题,则执行以下操作:

  • 错误消息输出参数已设置
  • 回滚(如有必要)完成
  • info被写入(INSERT)到日志表
  • 返回错误编号,此程序是唯一的(如果是致命的,则是肯定的,否定是警告)

它们都不检查行(只有在知道的情况下),并且一些不同的日志/调试信息或多或少.此外,行逻辑是从错误逻辑拆分的某些时间(在更新中,在WHERE子句中检查并发字段,行= 0表示其他人已更新数据).但是,这是一个相当通用的例子:

SELECT, INSERT, UPDATE, or DELETE

SELECT @Error=@@ERROR, @Rows=@@ROWCOUNT
IF @Rows!=1 OR @Error!=0
BEGIN
    SET @ErrorMsg='ERROR 20, ' + ISNULL(OBJECT_NAME(@@PROCID), 'unknown') 
                               + ' - unable to ???????? the ????.'
    IF @@TRANCOUNT >0
    BEGIN 
        ROLLBACK
    END

    SET @LogInfo=ISNULL(@LogInfo,'')+'; '+ISNULL(@ErrorMsg,'')+
        + ' @YYYYY='        +dbo.FormatString(@YYYYY)
        +', @XXXXX='        +dbo.FormatString(@XXXXX)
        +', Error='         +dbo.FormatString(@Error)
        +', Rows='          +dbo.FormatString(@Rows)

    INSERT INTO MyLogTable (...,Message) VALUES (....,@LogInfo)

    RETURN 20

END
Run Code Online (Sandbox Code Playgroud)

我正在考虑用TRY-CATCH T-SQL替换我们如何做到这一点.我已经阅读了TRY ... CATCH(Transact-SQL) …

t-sql sql-server error-handling sql-server-2005

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

通过sql脚本插入BLOB?

我有一个H2数据库(http://www.h2database.com),我想通过简单的简单sql脚本(例如填充测试数据库)将文件插入BLOB字段.我知道如何通过代码来做到这一点,但我找不到如何做sql脚本本身.

我试图通过这条路,即

INSERT INTO mytable (id,name,file) VALUES(1,'file.xml',/my/local/path/file.xml);
Run Code Online (Sandbox Code Playgroud)

但这失败了.

在代码(例如java)中,很容易创建一个File对象并将其传递,但​​直接从sql脚本中,我被卡住了......

任何的想法 ?

大卫

sql scripting blob h2

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

当我更新/插入单行时应该锁定整个表吗?

我有两个长时间运行的查询,它们都在事务上并访问同一个表但在这些表中完全分开的行.这些查询还会根据这些查询执行一些更新和插入.

似乎当它们同时运行时会遇到某种类型的锁定,并且当它更新其中一行时,它阻止了任务完成并锁定.我正在对正在读取的行使用独占行锁,并且在进程上显示的锁是lck_m_ix锁.

两个问题:

  1. 当我更新/插入单行时是否会锁定整个表?
  2. 可以做些什么来解决这类问题?

sql-server locking

26
推荐指数
3
解决办法
6万
查看次数

我真的需要使用"SET XACT_ABORT ON"吗?

如果你小心并且在所有内容周围使用TRY-CATCH,并且你真的需要使用以下错误回滚:

SET XACT_ABORT ON
Run Code Online (Sandbox Code Playgroud)

换句话说,是否有任何错误,TRY-CATCH将错过SET XACT_ABORT ON将处理?

sql-server error-handling transactions sql-server-2005

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

如何让SQL Server 2008r2向我显示错误?

我正在运行一个插入脚本,该脚本应该从SSMS将13,381行插入到空白数据库中.它告诉我"查询已完成但有错误"并且只插入了13357行.

错误列表中没有显示任何内容.如何找到脚本中的错误?

谢谢!

sql sql-server sql-server-2008 sql-server-2008-r2

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