![](/img/trans.png)
[英]Is there any way to use SCOPE_IDENTITY if using a multiple insert statement?
[英]Using alias in insert statement
我是大多數時間都使用ORM的SQL新手。 我在以下查詢中遇到別名麻煩:
command.CommandText = @"
INSERT INTO permissions (userid, remoteid)
SELECT userid as uid, :remoteid as rid
FROM users
WHERE companyid = :companyid
AND NOT EXISTS (
SELECT 1
FROM permissions
WHERE userid = uid
AND remoteid = rid
)";
command.Parameters.AddWithValue("companyid", companyId);
command.Parameters.AddWithValue("remoteid", resourceId);
查詢執行時,出現以下錯誤:
ERROR: 42703: column "uid" does not exist
我究竟做錯了什么? 是否應該這樣使用別名,並且可以在INSERT
語句中使用它們嗎?
這個怎么樣:
command.CommandText = @"
INSERT INTO permissions (userid, remoteid)
SELECT userid, :remoteid as rid
FROM users uid
WHERE companyid = :companyid
AND NOT EXISTS (
SELECT 1
FROM permissions
WHERE userid = uid.userid
AND remoteid = rid
)";
command.Parameters.AddWithValue("companyid", companyId);
command.Parameters.AddWithValue("remoteid", resourceId);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.