2009-09-16 11 views
0

J'utilise Oracle.DataAccess.Client dans Powershell. Ce que je dois faire est d'INSÉRER une nouvelle ligne de données, puis récupérer le champ ID généré automatiquement de la ligne nouvellement créée pour une autre commande INSERT, immédiatement après. Quelle est la meilleure façon de procéder? Je suis assez nouveau pour SQL et Oracle. Voici une partie de mon code:Comment récupérer de nouvelles données de ligne à partir d'INSERT en utilisant Oracle DataAccess avec Powershell?

$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() 

Merci pour toute aide que vous pouvez fournir!

Répondre

1
  1. Modifier votre requête d'insertion SQL comme suit

$sql = "insert into SCM_APPS.MODULES (PACKAGE_ABBREVIATION, FULL_MODULE_NAME) values ('TES', 'Testing') RETURNING module_id INTO :module_id" 
  1. Ajouter une variable de liaison à votre OracleCommand nommé "MODULE_ID"

  2. Prenez son valeur après l'exécution de la commande

+1

un million de dollars! – JimDaniel

+0

Vous êtes les bienvenus. Merci pour votre question J'ai ajouté un post sur mon blog avec cette question et la réponse: http://borismod.blogspot.com/2009/09/how-to-retrieve-new-row-data-from. html –

Questions connexes