Sql server 将INSERT语句链接到另一个语句中非键列的值
我有一个包含以下表的数据库: 我正在将值ProjName、Description和FileStorage插入表项目中。我试图将此信息链接到表Users,其中我只拥有非键列AUID的值。到目前为止,我有这样的想法:Sql server 将INSERT语句链接到另一个语句中非键列的值,sql-server,coldfusion,Sql Server,Coldfusion,我有一个包含以下表的数据库: 我正在将值ProjName、Description和FileStorage插入表项目中。我试图将此信息链接到表Users,其中我只拥有非键列AUID的值。到目前为止,我有这样的想法: INSERT INTO Project (ProjName, Description, FileStorage) VALUES ( '#form.capstoneName#' ,'#form.capstoneDescription#' , <cfquerypa
INSERT INTO Project (ProjName, Description, FileStorage)
VALUES
(
'#form.capstoneName#'
,'#form.capstoneDescription#'
, <cfqueryparam cfsqltype="cf_sql_blob" value="#FileReadBinary(FORM.capstoneFile)#">
)
但是,我希望这个特定的INSERT语句通过为登录用户存储的AUID值与Users表的ID列相关 如果项目ID是一个标识列,请将与INSERT查询一起使用以获取新生成的项目ID。然后使用INSERT/SELECT查找相应的用户ID,并将这两个值插入到Project_Users表中。根据需要修改cfsqltypes
<!--- Inserts one record for EACH matching AUID value --->
INSERT INTO Project_Users ( ProjectID, UserID )
SELECT <cfqueryparam value="#resultName.generatedKey#" cfsqltype="cf_sql_integer">
, ID
FROM Users
WHERE AUID = <cfqueryparam value="{The_AUID_Value}" cfsqltype="{Update_With_Your_Type}">
注意:请确保将两个INSERT都包装在一个中,以确保两个查询都是
请参见结果属性的其他示例:
我要试试这个。大喊,谢谢你帮助我理解了很多,欢迎你。有一件事我忘了提到,确保在cftransaction中包装两个INSERT。这样可以确保在某个插入由于某种原因失败时,不会出现不一致的数据。