従業員テーブルに値を挿入したい。そして、それらの値は文字列形式で~
区切られています
例えば:AA~B~123
次の関数を使用して分割しています
CREATE FUNCTION [db_owner].[FN_Split] (@String varchar(8000), @Delimiter char(1))
returns @temptable TABLE (items varchar(8000))
as
begin
declare @idx int
declare @slice varchar(8000)
select @idx = 1
if len(@String)<1 or @String is null return
while @idx!= 0
begin
set @idx = charindex(@Delimiter,@String)
if @idx!=0
set @slice = left(@String,@idx - 1)
else
set @slice = @String
if(len(@slice)>0)
insert into @temptable(Items) values(@slice)
set @String = right(@String,len(@String) - @idx)
if len(@String) = 0 break
end
return
end
今、私は出力を取得します
SELECT * FROM db_owner.FN_Split('AA~B~123','~')
出力
items
______
AA
B
123
今、私はここで立ち往生しています
上記の値を従業員テーブルに挿入するにはどうすればよいですか???
お気に入り
insert into employee (name,add,phone)
values('AA','B','123');
ガイドしてください。
これを試しましたが、機能しません
insert into employee
SELECT * FROM db_owner.FN_Split('AA~BB~CC','~')
エラー
Msg 213, Level 16, State 1, Line 1
Column name or number of supplied values does not match table definition.