Tag: sql

示例数据库练习

我想玩更大的数据库来testing我对SQL的知识。 有一个巨大的.sql在那里,我可以用来玩SQL查询?

在SELECT子句中没有聚合函数时GROUP BY行为

我有一个表emp与以下结构和数据: name dept salary —– —– —– Jack a 2 Jill a 1 Tom b 2 Fred b 1 当我执行下面的SQL时: SELECT * FROM emp GROUP BY dept 我得到以下结果: name dept salary —– —– —– Jill a 1 Fred b 1 服务器在什么基础上决定返回吉尔和弗雷德,排除杰克和汤姆? 我在MySQL中运行这个查询。 注1:我知道这个查询没有意义。 我试图用“GROUP BY”schemedebugging一个问题。 我想了解为此目的的默认行为。 注2:我习惯编写与GROUP BY子句相同的SELECT子句(减去聚合字段)。 当我遇到上面描述的行为时,我开始想知道是否可以依赖于这种情况,例如:从emp表中select行中薪水最低/最高的那些行。 例如:像这样的SQL语句适用于MySQL: SELECT A.*, MIN(A.salary) AS min_salary […]

如何抑制SQL Server中另一个存储过程调用的存储过程的SELECT输出?

我不是在说做一个“SET NOCOUNT OFF”。 但我有一个存储过程,我用它来插入一些表中的数据。 这个过程创build一个XML响应string,让我给你一个例子: CREATE PROCEDURE [dbo].[insertSomeData] (@myParam int) AS DECLARE @reply varchar(2048) … Do a bunch of inserts/updates… SET @reply = '<xml><big /><outputs /></xml>' SELECT @reply GO 所以我把一个使用这个SP的脚本放在一起,而xml的“输出”变得太多了(它已经崩溃了我的盒子一次)。 有没有办法抑制或redirect从此存储过程生成的输出? 我不认为修改这个存储过程是一个选项。 谢谢。 我想我应该澄清。 上面的这个SP被我编写的T-SQL Update脚本调用,要通过企业工作室pipe理器等来运行。 这不是我曾经写过的最优雅的SQL(一些psuedo-sql): WHILE unprocessedRecordsLeft BEGIN SELECT top 1 record from updateTable where Processed = 0 EXEC insertSomeData @param = record_From_UpdateTable […]

有没有人在unit testingSQL存储过程中取得任何成功?

我们发现我们为C#/ C ++代码编写的unit testing已经真正的得到了回报。 但是我们在存储过程中仍然有数千行业务逻辑,只有当我们的产品推广到大量用户时才真正得到testing。 更糟的是,这些存储过程中的一些最终会很长,因为在SP之间传递临时表时性能会受到影响。 这阻止了我们重构使代码更简单。 我们在围绕一些关键存储过程(主要testing性能)build立unit testing方面做了几次尝试,但是发现为这些testing设置testing数据确实很困难。 例如,我们最终复制testing数据库。 除此之外,testing最终变得非常敏感,甚至是对存储过程的最小改变。 或表格需要对testing进行大量的更改。 因此,在由于这些数据库testing间歇性失败而导致许多构build中断之后,我们不得不将它们从构build过程中提取出来。 所以,我的问题的主要部分是:有没有人成功地为他们的存储过程写unit testing? 我的问题的第二部分是linqunit testing是否会更容易? 我在想,不必设置testing数据表,你可以简单地创build一个testing对象的集合,并在“linq to objects”的情况下testing你的linq代码? (我是一个完全陌生的linq,所以不知道这是否甚至可以工作)

SQL Server身份validation和Windows身份validation之间有什么区别?

SQL Server身份validation和Windows身份validation有什么区别…有没有使用每个身份validation的具体情况?

是否可以将数据插入MySQL视图?

我做了4个表的MySQL视图。 是否有可能将数据插入视图,并让MySQL自动将数据传递到正确的表?

sqlalchemy:如何通过一个查询连接多个表?

我有以下SQLAlchemy映射的类: class User(Base): __tablename__ = 'users' email = Column(String, primary_key=True) name = Column(String) class Document(Base): __tablename__ = "documents" name = Column(String, primary_key=True) author = Column(String, ForeignKey("users.email")) class DocumentsPermissions(Base): __tablename__ = "documents_permissions" readAllowed = Column(Boolean) writeAllowed = Column(Boolean) document = Column(String, ForeignKey("documents.name")) 我需要得到这样的表user.email = "user@email.com" : email | name | document_name | document_readAllowed | document_writeAllowed 如何使用SQLAlchemy的一个查询请求? […]

SQL Server中的OFFLINE和ONLINE索引重build有什么区别?

重build索引时,可以selectONLINE = OFF和ONLINE = ON。 我知道,当ONLINE模式打开时,它会复制索引,切换新的查询来使用它,然后重build原始索引,使用版本跟踪更改(如果我错了,请更正)。 但是SQL在OFFLINE模式下做了什么?

使用select语句传递表值函数中的参数

我创build了一个表返回值函数返回给我一个表。 以下是我的function的调用 SELECT * FROM dbo.[StateFixedTaxesCalculation](3020,16,1,1006) 它的工作对我来说OK,现在我想在一个select语句中使用这个函数调用,所以我可以传递16这基本上是employeeIddynamic。 所以我决定使用内部连接与该函数返回的表。 喜欢这个 SELECT * FROM Employee as E INNER JOIN dbo.[StateFixedTaxesCalculation](3020,16,1,1006) as TC ON TC.EmployeeId=E.EmployeeId 但现在我怎么能通过16作为所有employeeId一个接一个的dynamic值。

什么是“暂停”的状态和高DiskIO意味着从sp_who2?

我正在尝试排查在我们的应用程序中的一些间歇性减速。 我在这里有一个单独的问题,更多的细节。 我运行了sp_who2,而且我注意到有几个连接的状态为SUSPENDED和高DiskIO。 有人可以向我解释这是什么意思?