我试图在一个在插入内部运行的选择中获取变量的赋值。
INSERT INTO myTable
(Value1,Value2,Value3)
VALUES
(
(
SELECT 'SomeText' + @MyGuid = lower(convert(varchar(36), newid())) + '"Some more text" />' AS Value1,
@MyGuid AS Value2,
columnX AS Value3 FROM myOtherTable));
基本上,我需要使用相同的变量两次,但赋值标记为
Incorrect syntax near '='.
我尝试更改分配语法,但它没有帮助。 我需要Guids是一样的。 是否可以这样做?
答案 0 :(得分:1)
您可以使用MyMock m;
EXPECT_CALL( m, f(_,_,_,_) ).With(Args<1,2>(Range(ElementsAre(a,b,c)));
执行此操作,方法是事先为每行选择CTE
值,然后在NEWID()
上按列进行转换:
INSERT