好像是 sqlserver mangage studio express 的bug
sqlserver 2005 express
使用 sqlserver mangage studio express
创建一个测试用表
CREATE TABLE [dbo].[test](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [varchar](50) COLLATE Japanese_CI_AS NULL
) ON [PRIMARY]
执行 insert test ([name]) values('sdfsdf'); 多次。
创建一个存储过程
create PROCEDURE [dbo].[xxx]
AS
update test set [name] = 'aaa' where id = 2
然后
ALTER PROCEDURE [dbo].[xxx]
AS
update testxx32453463465346436x set [name] = 'aaa' where id = 2
竟然不进行语法检查,而且执行成功了
执行被alter过的过程时才会报错误
Msg 208, Level 16, State 1, Procedure xxx, Line 10
对象名 'testxx32453463465346436x ' 无效。
(1 row(s) affected)