Tag: sql server

如何在MS-SQL Server中的别名列上执行GROUP BY?

我试图通过对别名列(下面的示例) 的操作执行一个组,但无法确定正确的语法。 SELECT LastName + ', ' + FirstName AS 'FullName' FROM customers GROUP BY 'FullName' 什么是正确的语法? 编辑 进一步扩展问题(我没有预料到我收到的答案)该解决scheme是否仍然适用于CASEED别名列? SELECT CASE WHEN LastName IS NULL THEN FirstName WHEN LastName IS NOT NULL THEN LastName + ', ' + FirstName END AS 'FullName' FROM customers GROUP BY LastName, FirstName 答案是肯定的,它仍然适用。

entity framework程序集中的重复types名称(6.1.0)

我不知道发生了什么,但是在做查询时,我不断收到以下exception。 “在程序集中复制types名称”。 我一直无法在网上find解决scheme。 我已经通过从解决scheme中的所有项目中移除entity framework并使用块重新安装来解决此问题。 然后突然间,exception又回来了。 我一遍又一遍地validation了我的表模式,发现没有错。 这是导致exception的查询。 var BaseQuery = from Users in db.Users join UserInstalls in db.UserTenantInstalls on Users.ID equals UserInstalls.UserID join Installs in db.TenantInstalls on UserInstalls.TenantInstallID equals Installs.ID where Users.Username == Username && Users.Password == Password && Installs.Name == Install select Users; var Query = BaseQuery.Include("UserTenantInstalls.TenantInstall"); return Query.FirstOrDefault(); 正如我前面提到的,同样的查询在以前工作。 数据没有改变,代码没有改变。

在Management Studio 2005中脚本所有存储过程

在企业pipe理器中,您可以通过右键单击菜单编写数据库中的所有SP,是否有办法在Management Studio中执行此操作?

如何执行表值函数

我有以下函数返回表。 create Function FN(@Str varchar(30)) returns @Names table(name varchar(25)) as begin while (charindex(',', @str) > 0) begin insert into @Names values(substring(@str, 1, charindex(',', @str) – 1)) set @str = substring(@str, charindex(',', @str) + 1, 100) end insert into @Names values(@str) return end 请问任何人请解释我如何运行这个function。

如何插入多个logging并获取身份值?

我从另一个表B插入多个logging到表A中。有没有办法获得表A的logging的身份值和更新表B的logging与做游标吗? Create Table A (id int identity, Fname nvarchar(50), Lname nvarchar(50)) Create Table B (Fname nvarchar(50), Lname nvarchar(50), NewId int) Insert into A(fname, lname) SELECT fname, lname FROM B 我正在使用MS SQL Server 2005。

BULK插入与身份(自动增量)列

我试图从CSV文件中添加数据库中的批量数据。 员工表具有自动递增的列ID (PK)。 CREATE TABLE [dbo].[Employee]( [id] [int] IDENTITY(1,1) NOT NULL, [Name] [varchar](50) NULL, [Address] [varchar](50) NULL ) ON [PRIMARY] 我正在使用这个查询: BULK INSERT Employee FROM 'path\tempFile.csv ' WITH (FIRSTROW = 2,KEEPIDENTITY,FIELDTERMINATOR = ',' , ROWTERMINATOR = '\n'); .CSV文件 – Name,Address name1,addr test 1 name2,addr test 2 但是会导致这个错误信息: 第2行第1列(id)的批量加载数据转换错误(types不匹配或指定代码页的字符无效)。

如何在SQL Server中回滚或提交事务

在我的存储过程中,我有三个插入语句。 在重复键值插入前两个查询生成错误 违反PRIMARY KEY约束 第三个查询像往常一样运行。 现在我想,如果任何查询产生任何exception,一切都应该回滚。 如果没有任何查询产生任何exception,它应该被提交。 declare @QuantitySelected as char set @QuantitySelected = 2 declare @sqlHeader as varchar(1000) declare @sqlTotals as varchar(1000) declare @sqlLine as varchar(1000) select @sqlHeader = 'Insert into tblKP_EstimateHeader ' select @sqlHeader = @sqlHeader + '(CompanyID,CompanyName,ProjectName,EstimateID,EstimateHeader,QuoteDate,ValidUntil,RFQNum,Revision,Contact,Status,NumConfigurations) ' select @sqlHeader = @sqlHeader + ' select CompanyID,CompanyName,ProjectName,EstimateID,EstimateHeader,QuoteDate,ValidUntil,RFQNum,Revision,Contact,Status,NumConfigurations ' select @sqlHeader = @sqlHeader + […]

Microsoft SQL Serverpipe理工作室打开错误

我安装了SQL Server Management Studio,它工作正常。 之后,我更新了我的Visual Studio从2010年到2013年速成版,现在它不处理这个错误消息: 找不到一个或多个组件。 请重新安装应用程序 我重新安装它,但仍然是同样的问题。 任何build议?

SQL Server“AFTER INSERT”触发器不会看到刚刚插入的行

考虑这个触发器: ALTER TRIGGER myTrigger ON someTable AFTER INSERT AS BEGIN DELETE FROM someTable WHERE ISNUMERIC(someField) = 1 END 我有一个表,someTable,我试图阻止人们插入不良logging。 为了这个问题的目的,一个不好的logging有一个全是数字的字段“someField”。 当然,正确的做法不是触发器,但我不控制源代码…只是SQL数据库。 所以我不能真的阻止坏行的插入,但我可以马上删除它,这足以满足我的需求。 触发器工作,有一个问题…当它触发,它似乎永远不会删除刚刚插入的坏logging…它删除任何旧的坏logging,但它不会删除刚插入的坏logging。 所以经常有一个错误的logging被移除,直到其他人出现,并且执行另一个INSERT。 这是我理解触发器的问题吗? 在触发器运行时新插入的行还没有被提交?

从bcp客户端收到colid 6的无效列长度

我想从c#代码批量上传CSV文件数据到SQL Server 2005,但我遇到了下面的错误 – 从bcp客户端收到colid 6的无效列长度。 当批量复制写入数据库服务器时