【发布时间】:2011-06-30 11:53:47
【问题描述】:
在 Sql Server 2005 中,我有两个数据库。在第一个中,我有一个这样的表:
CREATE TABLE [dbo].[SG](
[id] [int] IDENTITY(1,1) NOT NULL,
[sgName] [nvarchar](50) NOT NULL,
[active] [bit] NOT NULL,
[hiddenf] [int] NOT NULL
)
第二个,我有这样的看法:
CREATE VIEW [dbo].[SG] AS
SELECT id,sgName, active
FROM [FirstDatabase].dbo.SG WHERE hiddenf = 1
使用这样的触发器:
CREATE TRIGGER [dbo].[InsteadTriggerSG] on [dbo].[SG]
INSTEAD OF INSERT AS BEGIN
INSERT INTO [FirstDatabase].dbo.SG(sgName,active,hiddenf)
SELECT sgName,COALESCE (active,0), 1 FROM inserted
END
当我插入视图时:
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand("INSERT INTO SG(sgName, active) VALUES('Test', 1)", connection);
var affectedRows = command.ExecuteNonQuery();
Assert.AreEqual(1, affectedRows);
}
我的受影响行数等于 2,而我的预期值为 1。
【问题讨论】:
标签: c# .net sql-server view insert