Tag: sql server

只有插入一行,如果它不在那里

我一直使用类似于以下的东西来实现它: INSERT INTO TheTable SELECT @primaryKey, @value1, @value2 WHERE NOT EXISTS (SELECT NULL FROM TheTable WHERE PrimaryKey = @primaryKey) …但是一旦发生负载,就会发生主键违例。 这是根本插入这张桌子的唯一声明。 那么这是否意味着上述说法不是primefaces的? 问题是这几乎不可能随意重新创build。 也许我可以把它改成如下的东西: INSERT INTO TheTable WITH (HOLDLOCK, UPDLOCK, ROWLOCK) SELECT @primaryKey, @value1, @value2 WHERE NOT EXISTS (SELECT NULL FROM TheTable WITH (HOLDLOCK, UPDLOCK, ROWLOCK) WHERE PrimaryKey = @primaryKey) 虽然,也许我正在使用错误的锁或使用太多的锁或什么的。 我已经看到了stackoverflow.com上的其他问题,其中答案是build议“IF(SELECT COUNT(*)… INSERT”等,但我总是在(也许是不正确的)假设一个单一的SQL语句将primefaces。 有没有人有任何想法?

如何获得最后插入的ID?

我有这个代码: string insertSql = "INSERT INTO aspnet_GameProfiles(UserId,GameId) VALUES(@UserId, @GameId)"; using (SqlConnection myConnection = new SqlConnection(myConnectionString)) { myConnection.Open(); SqlCommand myCommand = new SqlCommand(insertSql, myConnection); myCommand.Parameters.AddWithValue("@UserId", newUserId); myCommand.Parameters.AddWithValue("@GameId", newGameId); myCommand.ExecuteNonQuery(); myConnection.Close(); } 当我插入到这个表中时,我有一个名为GamesProfileId的auto_increment int主键列,我怎样才能得到最后一个插入一个之后,所以我可以使用该ID插入到另一个表?

在一个SQL查询中插入多行?

我有多组数据立即插入,说4行。 我的表有三列: Person , Id和Office 。 INSERT INTO MyTable VALUES ("John", 123, "Lloyds Office"); INSERT INTO MyTable VALUES ("Jane", 124, "Lloyds Office"); INSERT INTO MyTable VALUES ("Billy", 125, "London Office"); INSERT INTO MyTable VALUES ("Miranda", 126, "Bristol Office"); 我可以在一个SQL语句中插入所有4行吗?

外键约束可能会导致循环或多个级联path?

当我尝试添加约束到我的表时,我有一个问题。 我得到的错误: 在表'Employee'中引入FOREIGN KEY约束'FK74988DB24B3C886'可能会导致循环或多个级联path。 指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。 我的约束是在Code表和employee表之间。 Code表包含Id , Name , FriendlyName , Type和Value 。 employee有许多参考代码的字段,以便可以为每种types的代码提供参考。 如果被引用的代码被删除,我需要将字段设置为null。 任何想法,我可以做到这一点?

如何将数组传递到SQL Server存储过程

如何将数组传递到SQL Server存储过程? 例如,我有一个雇员名单。 我想用这个列表作为一个表,并与另一个表join。 但是,员工名单应该作为C#的parameter passing。

我可以用逗号分隔多列成一列吗?

我试图在我的SQL Server数据库中合并这样的东西: [TicketID],[Person] T0001 Alice T0001 Bob T0002凯瑟琳 T0002道格 T0003伊莱恩 进入这个: [TicketID],[人物] T0001 Alice,Bob T0002凯瑟琳,道格 T0003伊莱恩 我需要在SQL Server和Oracle中都这样做。 我已经findMySQL的函数GROUP_CONCAT ,这正是我在这里所需要的,但MySQL不是这里的一个选项。 编辑:testing台: DECLARE @Tickets TABLE ( [TicketID] char(5) NOT NULL, [Person] nvarchar(15) NOT NULL ) INSERT INTO @Tickets VALUES ('T0001', 'Alice'), ('T0001', 'Bob'), ('T0002', 'Catherine'), ('T0002', 'Doug'), ('T0003', 'Elaine') SELECT * FROM @Tickets

如何在浏览器中通过JavaScript连接到SQL Server数据库?

任何人都可以给我一些示例源代码显示如何从本地连接到SQL Server 2005数据库? 我正在学习桌面上的networking编程。 还是我需要使用任何其他脚本语言? build议一些替代品,如果你有他们,但我现在试图用JavaScript来做到这一点。 我的SQL Server本地安装在我的桌面上 – SQL Server Management Studio 2005和IE7浏览器。

如何在SQL SELECT中执行IF … THEN?

如何在SQL SELECT语句中执行IF … THEN? 例如: SELECT IF(Obsolete = 'N' OR InStock = 'Y' ? 1 : 0) AS Saleable, * FROM Product

SQL使用SELECT *排除列 FROM tableA?

我们都知道要从表中select所有的列,我们可以使用 SELECT * FROM tableA 有没有一种方法来从表中排除列(s)而不指定所有的列? SELECT * [except columnA] FROM tableA 我知道的唯一方法是手动指定所有列并排除不需要的列。 这是非常耗时的,所以我正在寻找节省时间和精力的方法,以及如果表格有更多/更less的列,将来的维护。 谢谢!

SQL Server上的INSERT OR UPDATE解决scheme

假设MyTable(KEY, datafield1, datafield2…)的表结构MyTable(KEY, datafield1, datafield2…) 。 通常我想要更新现有logging,或者如果不存在,则插入新logging。 主要有: IF (key exists) run update command ELSE run insert command 什么是最好的performance方式来写这个?