2009-09-16 26 views
0

我在Powershell中使用Oracle.DataAccess.Client。我需要做的是插入一行新的数据,然后检索新创建的行的自动生成的ID字段,以用于紧接其后的另一个INSERT命令。做这个的最好方式是什么?我对SQL和Oracle相当陌生。这里是我的一些代码:如何使用Oracle DataAccess和Powershell从INSERT中检索新行数据?

$conn = "My Connection String" 
$sql = "insert into SCM_APPS.MODULES (PACKAGE_ABBREVIATION, FULL_MODULE_NAME) values ('TES', 'Testing')" 

$command = New-Object Oracle.DataAccess.Client.OracleCommand($sql,$conn) 
$reader = $command.ExecuteReader() 

感谢您的任何帮助,您可以提供!

回答

1
  1. 修改SQL插入查询如下

$sql = "insert into SCM_APPS.MODULES (PACKAGE_ABBREVIATION, FULL_MODULE_NAME) values ('TES', 'Testing') RETURNING module_id INTO :module_id" 
  • 绑定变量添加到您的OracleCommand名为 “是模块”

  • 取其执行命令后的值

  • +1

    Th一百万! – JimDaniel 2009-09-16 17:34:33

    +0

    不客气。谢谢你的问题 我在博客上添加了一篇关于这个问题和答案的文章: http://borismod.blogspot.com/2009/09/how-to-retrieve-new-row-data-from。 HTML – 2009-09-30 14:12:59

    相关问题