繁体   English   中英

表中的SQL ID将相同的ID发布到每个事务的所有其他coldfusion条目

[英]SQL ID from table posts same ID to all other coldfusion entries per transaction

如何在每个会话的每个表的所有条目上触发我的Transaction表中的ID? 我试图在很多表中插入大量信息,但是试图通过TransactionID保持所有表链接在一起,并且正在努力研究如何使用第一个条目创建TransactionID然后抓取该条目并在所有其他表条目上使用它。

(这是我创建事务的插入。这应该在我的Transaction表中自动创建一个ID,因为ID是我在事务表中的主键,而IsIdentity是yes并且增加了一个)

<cfquery datasource="Titlesbymail" name="InsertEntry">
 INSERT INTO dbo.Transaction (Type, OwnerType)
 VALUES (
    <cfqueryparam value='NonLeased' cfsqltype='cf_sql_varchar' />
   , <cfqueryparam value='Owner' cfsqltype='cf_sql_varchar' />
 )
</cfquery>

然后创建事务表:
ID:1
类型:非租赁
OwnerType:所有者

我试图找出如何保持相同的事务ID与我的其他6个表中的下一个条目一起插入(如果表存在)

<cfquery datasource="Titlesbymail" name="CustomerInsertEntry">
 INSERT INTO dbo.Customer (TransactionID, ID, FirstName, LastName)
 VALUES (
    <cfqueryparam value= **'(ID from Transaction Table)'** cfsqltype='cf_sql_int' />
   , <cfqueryparam value='1' cfsqltype='cf_sql_int' />
   , <cfqueryparam value='#session.checkout.info.firstname_1#' cfsqltype='cf_sql_varchar' />
   , <cfqueryparam value='#session.checkout.info.lastname_1#' cfsqltype='cf_sql_varchar' />
 )
</cfquery>

这对我来说是全新的,我已经做了很多研究,我只是不断遇到触发器的sql命令,但是我不知道如何适用于我的coldfusion设置。

使用cfquery您可以使用results属性根据运行的查询返回信息。 此信息的一部分是GENERATEDKEY 然后,您可以将此GENERATEDKEY分配给变量,稍后在代码中使用它。

首先,您需要将结果属性添加到第一个cfquery

<cfquery datasource="Titlesbymail" name="InsertEntry" result="transactionResult">
 INSERT INTO dbo.Transaction (Type, OwnerType)
 VALUES (
    <cfqueryparam value='NonLeased' cfsqltype='cf_sql_varchar' />
   , <cfqueryparam value='Owner' cfsqltype='cf_sql_varchar' />
 )
</cfquery>

然后分配一个变量以使用结果中的GENERATEDKEY (或直接使用结果变量)

<cfset theID = transactionResult.GENERATEDKEY>

然后在代码中的任何其他位置使用此变量。

<cfquery datasource="Titlesbymail" name="CustomerInsertEntry">
 INSERT INTO dbo.Customer (TransactionID, ID, FirstName, LastName)
 VALUES (
    <cfqueryparam value='#theID#' cfsqltype='cf_sql_integer' />
   , <cfqueryparam value='1' cfsqltype='cf_sql_integer' />
   , <cfqueryparam value='#session.checkout.info.firstname_1#' cfsqltype='cf_sql_varchar' />
   , <cfqueryparam value='#session.checkout.info.lastname_1#' cfsqltype='cf_sql_varchar' />
 )
</cfquery>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM