code name
001 商品1
002 商品2
003 商品1
004 商品1
005 商品2我想在另一张表插入数据的时候判断这张表商品1的编码code字段是否存在,存在才能插入。
也就是只能插入与这张表对应的code,同一个商品名有不同编码,怎么弄?
001 商品1
002 商品2
003 商品1
004 商品1
005 商品2我想在另一张表插入数据的时候判断这张表商品1的编码code字段是否存在,存在才能插入。
也就是只能插入与这张表对应的code,同一个商品名有不同编码,怎么弄?
你的插入语句
--tableA,商品表
--tableB,待插入的表
insert into tableB(Code,fieldA,fieldB,fieldC)
select Code,字段A对应的值,字段B对应的值,字段B对应的值
from tableA where Code = '你的Code值'
这样速度应该稍微快点。
SELECT * FROM 表2 WHERE CODE IN (SELECT CODE FROM 表 WHERE NAME = 商品码1)
IF @@ROWCOUNT > 0
插入的语句
insert into [另一张表]
select [字段列表]
from [数据表] a
inner join [这张表] b
on a.code=b.code and a.name=b.name
+1 啊,但出错了,插入001 可以,插入003 004 判断好像不行了。
求救啊declare test_Cursor cursor scroll for
select code from Item
open test_Cursor
declare @code varchar(255)
while @@fetch_status=0
begin
fetch next from test_Cursor into @code
if(@code!=@要插入的code) --这边的@code应该是一行行读取的code编码吧,判断不对啊
begin
select '编码错误'
close test_Cursor
deallocate test_Cursor
return
end
else
begin
select '保存成功'
end
end
close test_Cursor
deallocate test_Cursor
CREATE PROCEDURE [dbo].[Check]
@Code VARCHAR(10),
@Name VARCHAR(50)
AS
BEGIN
SET NOCOUNT ON; IF EXISTS (
SELECT TOP (1) *
FROM dbo.Table1 WITH(NOLOCK)
WHERE Code=@Code
AND Name=@Name
)
BEGIN
INSERT INTO dbo.Table2 VALUES()....
END
END
GO
你在插入数据的时候,根据code name两个字段进行判断。