2017年12月14日木曜日

SQL Server 2016 insert文で存在しない項目を指定してもストアドプロシージャが成功する

検証用のクエリ
------------------------------------------------------------
create database test
go
use test
go

create table test(i int, n nvarchar(50));
create table test2(i int, n nvarchar(50));

create or alter procedure testsp as
begin
insert into test (i,aaaaaaaaa) select bbbbbbbbb, n from test2 inner join #wrk on #wrk.id = test2.i;
end
コマンドは正常に完了しました。
・・・えっ?!
testテーブルには、aaaaaaaaaなんで項目がないのにエラーになる。
これはストアドのビルドでエラーとして判断してもらいたいものです。

環境:
・Microsoft SQL Server 2016 (SP1-CU2) (KB4013106) - 13.0.4422.0 (X64)
・Microsoft SQL Server 2016 (SP1-CU6) (KB4037354) - 13.0.4457.0 (X64)

0 件のコメント:

コメントを投稿