sql-server-2008 – 将数据插入视图(SQL Server)
发布时间:2020-12-12 16:46:10 所属栏目:MsSql教程 来源:网络整理
导读:我有以下设置: CREATE TABLE dbo.Licenses( Id int IDENTITY(1,1) PRIMARY KEY,Name varchar(100),RUser nvarchar(128) DEFAULT USER_NAME())GOCREATE VIEW dbo.rLicensesASSELECT NameFROM dbo.LicensesWHERE RUser = USER_NAME()GO 当我尝试使用视图插入数
我有以下设置:
CREATE TABLE dbo.Licenses ( Id int IDENTITY(1,1) PRIMARY KEY,Name varchar(100),RUser nvarchar(128) DEFAULT USER_NAME() ) GO CREATE VIEW dbo.rLicenses AS SELECT Name FROM dbo.Licenses WHERE RUser = USER_NAME() GO 当我尝试使用视图插入数据… INSERT INTO dbo.rLicenses VALUES ('test') 出现错误: Cannot insert the value NULL into column Id,table master.dbo.Licenses; column does not allow nulls. INSERT fails. 为什么尝试使用视图插入标识列的自动增量时,如何解决? 情况是: 数据库的不同用户应该只能在该表中使用自己的行.因此,我试图通过检查用户名将视图用作一种安全.有什么更好的解决方案吗? 解决方法命名列如何?INSERT INTO dbo.rLicenses (name) VALUES ('test') 这是多年以来,我尝试通过视图更新,所以YMMV作为HLGEM提到. 我会考虑一个“INSTEAD OF” trigger的视图,允许一个简单的INSERT dbo.Licenses(即表)在触发器中 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |