Delete from 3 tables

I have 3 tables I need to delete partial data from.
ObservedSpeciesCollectionMethodID CollectionMethodID ObservedSpeciesID
109150                            29                
222898
109149                            29                
222897
109148                            19                
222900
109147                            19                
222899
ObservedSpeciesMeasurementID ObservedSpeciesID NumericValueHigh
79608                        222898            2
79607                        222897            1
79606                        222900            4
79605                        222899            3
ObservedSpeciesID ObservationSiteID SpeciesID
222898            146620            1108
222897            146620            1053
222900            146620            1108
222899            146620            1053
Table names are:
  ObservedSpeciesCollectionMethod
  ObservedSpeciesMeasurement
  ObservedSpecies
The only information I have is CollectionMethodID and ObservationSiteID.
So if CollectionMethodID = 19:
Delete rows 3 and 4 from all 3 tables.
Any help is greatly appreciated

Try
declare @CollectionMethodToDelete int= 19;declare @ObservationSiteID int =  146620;   
if object_ID('TempDB..#DeleteSpecies', N'U') IS NOT NULL DROP TABLE #DeleteSpecies
select ObservedSpeciesID
into #DeleteSpecies
from ObservedSpeciesCollectionMethod CM
where CollectionMethodID = @CollectionMethodToDelete and not exists (select 1
from ObservedSpeciesCollectionMethod CM1 where CM1.ObservedSpeciesID = CM.ObservedSpeciesIDAND CM.CollectionMethodID <> CM1.CollectionMethodID) -- we're OK to delete the species that were only observed by that method
try
begin transaction
delete from ObservedSpeciesMeasurement where ObservedSpeciesID IN (select ObservedSpeciesID from #DeleteSpecies)
delete from ObservedSpeciesCollectionMethod where CollectionMethodID = @CollectionMethodToDelete
delete from ObservedSpecies where ObservedSpeciesID IN (select ObservedSpeciesID from #DeleteSpecies)AND ObservationSiteID = @ObservationSiteID;
commit transaction
end try
begin catch
DECLARE @ErrorSeverity INT
,@ErrorNumber INT
,@ErrorState INT
,@ErrorLine INT
,@ErrorProc NVARCHAR(200);
-- Grab error information from SQL functions
SET @ErrorSeverity = ERROR_SEVERITY();
SET @ErrorNumber = ERROR_NUMBER();
SET @ErrorMessage = ERROR_MESSAGE();
SET @ErrorState = ERROR_STATE();
SET @ErrorLine = ERROR_LINE();
SET @ErrorProc = ERROR_PROCEDURE();
SET @ErrorMessage = 'Problem deleting species. SQL Server Error Message is: ' + CAST(@ErrorNumber AS VARCHAR(10)) + ' in procedure: ' + @ErrorProc + ' Line: ' + CAST(@ErrorLine AS VARCHAR(10)) + ' Error text: ' + @ErrorMessage;
-- Not all errors generate an error state, to set to 1 if it's zero
IF @ErrorState = 0
SET @ErrorState = 1;
-- If the error renders the transaction as uncommittable or we have open transactions, we may want to rollback
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION
END
RAISERROR (
@ErrorMessage
,@ErrorSeverity
,@ErrorState
,@ErrorNumber
END CATCH
For every expert, there is an equal and opposite expert. - Becker's Law
My blog
My TechNet articles

Similar Messages

  • Error On deleting from table

    Hello Experts.
    I am getting error when deleting from table.
    please help me.I had given my error.
    If possible also tell me how to trace this error.
    java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
         at java.util.ArrayList.RangeCheck(ArrayList.java:507)
         at java.util.ArrayList.get(ArrayList.java:324)
         at com.sap.tc.webdynpro.progmodel.context.Node$ElementList.getElement(Node.java:2034)
         at com.sap.tc.webdynpro.progmodel.context.Node.isMultiSelected(Node.java:841)
         at com.sap.tc.webdynpro.progmodel.context.Node.isMultiSelected(Node.java:839)
         at try1.comp1.TableView.onActionDelete_Entry(TableView.java:191)
         at try1.comp1.wdp.InternalTableView.wdInvokeEventHandler(InternalTableView.java:191)
         at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
         at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
         at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)
         at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)
         at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
         at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
         at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:759)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:712)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)
         at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

    This Is the code of delete function.
    //@@begin onActionDelete_Entry(ServerEvent)
             int Count=wdContext.nodePerson().size();
             int LeadSelcection=wdContext.nodePerson().getLeadSelection();
             for(int i=0;i<Count;i++)
                  if( (i==LeadSelcection) || wdContext.nodePerson().isMultiSelected(i))
                       wdContext.nodePerson().removeElement(wdContext.nodePerson().getElementAt(i));
                  }//if
             }//for
        //@@end

  • How to find out when data was deleted from table in oracle and Who deleted that

    HI Experts,
    Help me for below query:
    how to find out when data was deleted from table in oracle and Who deleted that ?
    I did that to fidn out some data from dba_tab_modifications, but I m not sure that what timestamp shows, wether it shows for update,insert or delete time ?
    SQL> select TABLE_OWNER,TABLE_NAME,INSERTS,UPDATES,DELETES,TIMESTAMP,DROP_SEGMENTS,TRUNCATED from dba_tab_modifications where TABLE_NAME='F9001';
    TABLE_OWNER                    TABLE_NAME                        INSERTS    UPDATES    DELETES     TIMESTAMP         DROP_SEGMENTS TRU
    PRODCTL                        F9001                                                     1683         46       2171            11-12-13 18:23:39             0                   NO
    Audit is enable in my enviroment?
    customer is facing the issue and data missing in the table and I told him that yes there is a delete at 11-12-13 18:23:39 in table after seeing the DELETS column and timestamp in dba_tab_modifications, but not sure I am right or not
    SQL> show parameter audit
    NAME                                 TYPE        VALUE
    audit_file_dest                      string      /oracle/admin/pbowe/adump
    audit_sys_operations                 boolean     TRUE
    audit_syslog_level                   string
    audit_trail                          string      DB, EXTENDED
    please help
    Thanks
    Sam

    LOGMiner --> Using LogMiner to Analyze Redo Log Files
    AUDIT --> Configuring and Administering Auditing

  • Oracle 10g - issue with "DELETE from TABLE WHERE ID in (1,2,3)" (cfqueryparam used)

    Hello, everyone.
    I am having issues with running a DELETE statement on an Oracle 10g database.
    DELETE
    FROM tableA
    WHERE ID in (1,2,3)
    If there is only one ID for the IN clause, it works.  But if more than one ID is supplied, I get an "SQL command not properly ended" error message.  Here is the query as CF:
    DELETE
    FROM TRAINING
    WHERE userID = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#trim(form.userID)#">
         AND TRAINING_ID in <cfqueryparam value="#form.trainingIDs#" cfsqltype="CF_SQL_INTEGER" list="yes">
    Anyone work with Oracle that can help me with this?  I'm an experienced MS-SQL developer; Oracle is new to me.
    Thanks,
    ^_^

    Nevermind.. a co-worker just told me that I still have to use parenthesis around the values for the IN clause. 

  • While deleting project from CJ20N entries are not deleted from table PRPS

    Hi,
    I am deleting project from CJ20N then from PROJ table entries are getting deleted but WBS element entries are not deleted from table PRPS.
    Any deletion Flag should also be checked?
    Thanks in advance!
    Regards,
    Jyoti

    Hello,
    Thanks for reply !
    My problem is I am deleting project and WBS Elements from CJ20N but WBS element entries are not deleted from PRPS table.
    Why they are appearing in PRPS table and how it can be deleted?
    Thanks !

  • Delete From Table on Cancel Button.

    Hi,
    i am facing funny problem.
    i have created form with report page and i have implement send email option on Page so i am attach more document with email.if i attach document then it's going in DUMY_DOC_FILE table .
    i have create a process
    delete from DUMY_DOC_FILE .
    Process Point IS ON Submit -After Conmputation and Validation
    On Page No 6.if i press Cancel Button.This button is redirect on page No 4.My Code on Page no 6.
    page is redirect to 4 but doc don't delete from DUMY_DOC_FILE Table.
    How to delete Doc From Table If I press Cancel Button.
    Thanks
    Edited by: 805629 on Jan 13, 2011 5:25 AM
    Edited by: 805629 on Jan 13, 2011 11:49 PM
    Edited by: 805629 on Jan 14, 2011 12:43 AM

    <li>Change Cancel Button in page 6 so that it submits.
    <li>If u have conditions on that delete PLSQL process, make sure that it runs when CANCEL button is pressed also. If it is unconditional, let it be.
    <li>Add a branch for the Cancel button which redirect to page 4
    So effectivelly instead of *[CANCEL] -> [Redirect to page 4]* , it becomes *[CANCEL] -> [SUBMIT] -> [DELETE PROCESS] -> [Branch: redirect to page 4]*

  • A Table that was created at Run time. A Row Properly Deleted from Table Is Still Present on Form with BindingNavigator

    Hello
    I have a dataset that was created at design time
    but - after I run the app, it randomly creates a table based on The Users name
    since I do not know the users name before had, the table is not part of my existing dataset
    (I actually used an insert into sql nonquery to just make this table a copy of the masterUserTable)
    Now - I have a binding navigator on my form, that is originally bound to masterUserTable, but my goal is to make it bound to the users table (let's say GabrielUserTable)
    I thought I did so with this code: 
            'TODO: This line of code loads data into the 'MyLearningDBDataSet.masterUserTable' table. You can move, or remove it, as needed.
            Me.MyMainDBTableAdapter.Fill(Me.MyLearningDBDataSet.masterUserTable)
            Dim ThisNewVariable As String = MyUserNameIs & "UserTable"
            Dim ThisNewTableName As New DataTable
            Me.MyLearningDBDataSet.masterUserTable.TableName = ThisNewVariable
            Me.MyMainDBTableAdapter.Fill(Me.MyLearningDBDataSet.masterUserTable)
    that appeared to do the trick  (but if it is incorrect please advice on the proper way to add a table made at runtime to a users existing datset)
    Else where in my code  I successfully execute the following NonQuery :
            SqlString= "DELETE FROM " & MyUserNameIs & "UserTable" & vbCrLf &
                "WHERE vState='" & txtStateInfo.Text & "';"
    I check in Visual Studio 2013 that the row was deleted from the "GabrielUserTable"  (Gabriel is the current value of MyUserNameIs) by using the Server Explorer and right clicking
    on the table and choosing show talbe data
    But the MyMainDBBindingNavigator is still showing the item I deleted.
    So after searching for answers - I created a new button for testing and added the following code to test if it would work
            Me.Validate()
            Me.MyMainDBBindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.MyLearningDBDataSet)
    but the data is still shwoing after deleting it with my NonQuery 
    Please Help!

    Hi genterprise,
    >> Now - I have a binding navigator on my form, that is originally bound to masterUserTable, but my goal is to make it bound to the users table (let's say GabrielUserTable)
    In my option, if you want to rebind the users table to the navigator, you need to set the BindingNavigator.BindingSource. Based on your description, it seems that you did not reset the datasoure of the MyMainDBBindingNavigator. It was the original datasource
    of the masterUserTable. For more details about BindingNavigator.BindingSource Property. You could refer the link below:
    # BindingNavigator.BindingSource Property
    https://msdn.microsoft.com/en-us/library/system.windows.forms.bindingnavigator.bindingsource%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396
    Best Regards,
    Edward
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

  • NullPointerException when deleting from table with no non-primary keys

    We have an object mapped to a table in our database.
    This table has two fields that together form a composite key. When we attempt to perform a delete from this table using the mapped object we receive the following exception and stack trace:
    java.lang.NullPointerException
    at oracle.toplink.descriptors.FieldsLockingPolicy.getAllNonPrimaryKeyFields(Unknown Source)
    at oracle.toplink.descriptors.AllFieldsLockingPolicy.getFieldsToCompare(Unknown Source)
    at oracle.toplink.descriptors.FieldsLockingPolicy.buildExpression(Unknown Source)
    at oracle.toplink.descriptors.FieldsLockingPolicy.buildDeleteExpression(Unknown Source)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildDeleteExpression(Unknown Source)
    at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.buildDeleteStatement(Unknown Source)
    at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.prepareDeleteObject(Unknown Source)
    at oracle.toplink.internal.queryframework.StatementQueryMechanism.deleteObject(Unknown Source)
    at oracle.toplink.queryframework.DeleteObjectQuery.execute(Unknown Source)
    at oracle.toplink.queryframework.DatabaseQuery.execute(Unknown Source)
    at oracle.toplink.publicinterface.Session.internalExecuteQuery(Unknown Source)
    at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(Unknown Source)
    at oracle.toplink.tools.profiler.PerformanceProfiler.profileExecutionOfQuery(Unknown Source)
    at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
    at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
    at oracle.toplink.internal.sessions.CommitManager.deleteAllObjects(Unknown Source)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(Unknown Source)
    at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(Unknown Source)
    at oracle.toplink.publicinterface.UnitOfWork.commit(Unknown Source)
    <snip remainder of stack trace>
    The table definition for our table is as follows:
    PK,FK TASK_ID NUMBER NOT NULL
    PK,FK USER_ID NUMBER NOT NULL
    Each field is a foreign key to another table, however this is not a join table for a many to many relationship.
    The mapping definition for the mapped object is as follows:
    public Descriptor buildProConSubscriptionDescriptor( )
    Descriptor descriptor = new Descriptor( );
    descriptor.setJavaClass( mil.usmc.mol.procon.domain.ProConSubscription.class );
    descriptor.addTableName( "PRO_CON_SUBSCRIPTION" );
    descriptor.addPrimaryKeyFieldName( "PRO_CON_SUBSCRIPTION.TASK_ID" );
    descriptor.addPrimaryKeyFieldName( "PRO_CON_SUBSCRIPTION.USER_ID" );
    // Descriptor properties.
    descriptor.useNoIdentityMap( );
    descriptor.setIdentityMapSize( 1000 );
    descriptor.useRemoteNoIdentityMap( );
    descriptor.setRemoteIdentityMapSize( 1000 );
    descriptor.setAlias( "ProConSubscription" );
    descriptor.useAllFieldsLocking( );
    // Query manager.
    descriptor.getQueryManager( ).checkDatabaseForDoesExist( );
    //Named Queries
    // Event manager.
    // Mappings.
    DirectToFieldMapping taskIdMapping = new DirectToFieldMapping( );
    taskIdMapping.setAttributeName( "taskId" );
    taskIdMapping.setGetMethodName( "getTaskId" );
    taskIdMapping.setSetMethodName( "setTaskId" );
    taskIdMapping.setFieldName( "PRO_CON_SUBSCRIPTION.TASK_ID" );
    descriptor.addMapping( taskIdMapping );
    DirectToFieldMapping userIdMapping = new DirectToFieldMapping( );
    userIdMapping.setAttributeName( "userId" );
    userIdMapping.setGetMethodName( "getUserId" );
    userIdMapping.setSetMethodName( "setUserId" );
    userIdMapping.setFieldName( "PRO_CON_SUBSCRIPTION.USER_ID" );
    descriptor.addMapping( userIdMapping );
    return descriptor;
    Any thoughts as to why this is happening?
    Thanks,
    Andrew Lee

    Hi Andrew,
    AllFieldsLocking isn't designed for this since you have an object that's composed entirely of primary data. You should make use of any other of TopLink's locking policies to make this work. For instance, try useChangedFieldsLocking(), pessimistic or any of the optimistic locking strategies available from within TopLink for this to work based on the design you have outlined.
    Darren

  • Messages are NOT deleted from tables XI_AF_MSG and XI_AF_MSG_AUDIT

    Hello,
    I set the retention period to 7 days (1 week)
    I also set the default ARCHIVE and DELETE jobs and ALL are working fine.
    However, messages with OLD dates are NOT deleted from the tables XI_AF_MSG and XI_AF_MSG_AUDIT.
    These tables 32GB in the DBD table space.
    I tried to use the URL:
    http://<host>:<port>/MessagingSystem/archiving/reorgdb.jsp
    BUT to NO avail.
    How do I DELETE or ARCHIVE these messages ?
    ============================================
    Here are some more details on the content of the tables (I took into account 1 MONTH retention):
    db2 "select count(*) from sapxi3db.XI_AF_MSG_AUDIT where STATUS='SUCC' and TIME_STAMP < '2007-09-10 00:00:00'"
          28947
      1 record(s) selected.
    db2 "select count(*) from sapxi3db.XI_AF_MSG_AUDIT where STATUS='ERR' and TIME_STAMP < '2007-09-10 00:00:00'"
          13243
      1 record(s) selected.
    db2 "select count(*)  from sapxipdb.XI_AF_MSG where PERSIST_UNTIL < '2007-09-10 00:00:00' and STATUS='NDLV'"
           1048
      1 record(s) selected.
    db2 "select count(*)  from sapxipdb.XI_AF_MSG where PERSIST_UNTIL < '2007-09-10 00:00:00' and STATUS='DLVD'"
              0
      1 record(s) selected.

    Hi,
    First, thank you VERY much for answering.
    Now to your questions:
    1. When using the URL:
    http://<host>:<port>/MessagingSystem/archiving/reorgdb.jsp
        I did NOT get any ERROR messages.
        Thousands of messages where DELETED successfully.
        However, the number of rows in XI_AF_MSG_AUDIT did NOT reduce.
    2. I used the default archiving and deletion customizations and jobs.
       However, I ran them manually a few times a day with NO change in the
       number of rows in XI_AF_MSG_AUDIT
       What do you mean by "customized any Archiving for adapter Engine" ?
    . In RWB, I do see the default job is running
    Have you customized any Archiving for adapter Engine or You are using default arciving which runs every 24 hrs.
    3. I did ser the retention period for the adapter engine messages in visual admin in seconds...
    Please, advise further.
    Kind regards,
    Gil

  • Problem deleting from table with xmltype column

    Hi,
    Using a standard, simple screen (generated from JHeadstart), I don't seem to be able to delete from a table including an xmltype column. I have tried it even with a very simple mock table with only one column, an xmltype column, and every time I check the "delete" box and click "save", I get the following error:
    oracle.jbo.RowInconsistentException: JBO-25014: Another user has changed the row with primary key oracle.jbo.Key[33 ].
    I have tried this in the JDeveloper application module tester too and the result is the same.
    Is it possible to delete a row from a table with an xmltype column? Am I doing something wrong? Is there something special needs done?
    As I say, I did this with a one-xmltype-column table using the "Business Components from Tables" wizard, accepting all the defaults.
    Thanks,
    Darren

    In short you want
    SELECT extractvalue(myxml, '/PurchaseOrder/Reference')
    FROM dab_test;This difference is that for dab_xml, there are no columns defined for the table, therefore you are [OBJECT_VALUE|http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/pseudocolumns006.htm#sthref830] as an alias for a non existent column.
    With dab_test, you have a column that contains the XML so you need to use that column name instead of OBJECT_VALUE.

  • DataGrid not reflecting changes after INSERT into Table. Delete from Table does.

    Wow, it's been a while.
    Hope you guys can help.
    This is my DataGrid:
    <DataGrid DataContext="{StaticResource TableAssetsViewSource}" ItemsSource="{Binding}" x:Name="TableAssetsDataGrid" AutoGenerateColumns="False" EnableRowVirtualization="True" Margin="15,10,10,10" RowDetailsVisibilityMode="VisibleWhenSelected" Grid.Column="1" HeadersVisibility="Column" CanUserResizeRows="False" IsReadOnly="True">
    <DataGrid.CellStyle>
    <Style TargetType="DataGridCell">
    <Setter Property="BorderThickness" Value="0"/>
    </Style>
    </DataGrid.CellStyle>
    <DataGrid.Columns>
    <DataGridTextColumn x:Name="NodeColumn" Binding="{Binding node}" Header="VS Number" Width="*"/>
    <DataGridTextColumn x:Name="SerialColumn" Binding="{Binding serial}" Header="Serial Number" Width="*"/>
    <DataGridTextColumn x:Name="NameColumn" Binding="{Binding name}" Header="Asset Name" Width="*"/>
    <DataGridTextColumn x:Name="TypeColumn" Binding="{Binding type}" Header="Asset Type" Width="*"/>
    <DataGridTextColumn x:Name="_dateColumn" Binding="{Binding date}" Header="Date Allocated" Width="*"/>
    <DataGridTextColumn x:Name="PoColumn" Binding="{Binding po}" Header="Purchase Order" Width="*"/>
    </DataGrid.Columns>
    </DataGrid>
    This is where I add a new Row to the Table:
    Private Sub Button_Click_1(sender As Object, e As RoutedEventArgs)
    Dim cbblocation As ComboBox = Me.FindName("LocationComboBox")
    Dim row As DataRowView = DirectCast(cbblocation.SelectedItem, DataRowView)
    Dim cbbtext As String = row.Item("node")
    Dim cbbtype As ComboBox = Me.FindName("comboBoxType")
    Dim cbbtext2 As String = cbbtype.Text
    Dim RETAILISOAMDDataSet As Retail_ISO_AMD.RETAILISOAMDDataSet = CType(Me.FindResource("RETAILISOAMDDataSet"), Retail_ISO_AMD.RETAILISOAMDDataSet)
    Dim RETAILISOAMDDataSetTableAssetsTableAdapter As Retail_ISO_AMD.RETAILISOAMDDataSetTableAdapters.tableAssetsTableAdapter = New Retail_ISO_AMD.RETAILISOAMDDataSetTableAdapters.tableAssetsTableAdapter()
    RETAILISOAMDDataSetTableAssetsTableAdapter.AddNewAsset(cbbtext, txbSerial.Text, txbName.Text, cbbtext2, Date.Today, txbPO.Text)
    node = cbbtext
    Dim mp As New MainPage
    mp.RefreshGrid(node)
    Me.Close()
    End Sub
    The RefreshGrid method:
    Public Sub RefreshGrid(node As String)
    Dim RETAILISOAMDDataSet As Retail_ISO_AMD.RETAILISOAMDDataSet = CType(Me.FindResource("RETAILISOAMDDataSet"), Retail_ISO_AMD.RETAILISOAMDDataSet)
    Dim RETAILISOAMDDataSetTableAssetsTableAdapter As Retail_ISO_AMD.RETAILISOAMDDataSetTableAdapters.tableAssetsTableAdapter = New Retail_ISO_AMD.RETAILISOAMDDataSetTableAdapters.tableAssetsTableAdapter()
    RETAILISOAMDDataSetTableAssetsTableAdapter.FillByNode(RETAILISOAMDDataSet.tableAssets, node)
    Dim TableAssetsViewSource As System.Windows.Data.CollectionViewSource = CType(Me.FindResource("TableAssetsViewSource"), System.Windows.Data.CollectionViewSource)
    Dim be As BindingExpression = BindingOperations.GetBindingExpression(TableAssetsViewSource, CollectionViewSource.SourceProperty)
    be.UpdateTarget()
    End Sub
    And this is what I use to delete a row from the table (and without doing anything special, the DataGrid auto-updates with the changes):
    Private Sub Button_Click_4(sender As Object, e As RoutedEventArgs)
    If TableAssetsDataGrid.SelectedIndex = -1 Then
    MsgBox("You have selected nothing to Delete!", MsgBoxStyle.OkOnly, "Nothing Selected")
    Else
    Dim dgv As DataGridTextColumn = Me.FindName("NodeColumn")
    Dim row As DataRowView = DirectCast(Me.TableAssetsDataGrid.SelectedItem, DataRowView)
    Dim dgvText As String = row.Item("node")
    Dim dgv2 As DataGridTextColumn = Me.FindName("SerialColumn")
    Dim row2 As DataRowView = DirectCast(Me.TableAssetsDataGrid.SelectedItem, DataRowView)
    Dim dgvText2 As String = row.Item("serial")
    Dim dgv3 As DataGridTextColumn = Me.FindName("NameColumn")
    Dim row3 As DataRowView = DirectCast(Me.TableAssetsDataGrid.SelectedItem, DataRowView)
    Dim dgvText3 As String = row.Item("name")
    Dim dgv4 As DataGridTextColumn = Me.FindName("TypeColumn")
    Dim row4 As DataRowView = DirectCast(Me.TableAssetsDataGrid.SelectedItem, DataRowView)
    Dim dgvText4 As String = row.Item("type")
    Dim dgv5 As DataGridTextColumn = Me.FindName("_dateColumn")
    Dim row5 As DataRowView = DirectCast(Me.TableAssetsDataGrid.SelectedItem, DataRowView)
    Dim dgvText5 As String = row.Item("date")
    Dim dgv6 As DataGridTextColumn = Me.FindName("POColumn")
    Dim row6 As DataRowView = DirectCast(Me.TableAssetsDataGrid.SelectedItem, DataRowView)
    Dim dgvText6 As String = row.Item("po")
    Dim RETAILISOAMDDataSet As Retail_ISO_AMD.RETAILISOAMDDataSet = CType(Me.FindResource("RETAILISOAMDDataSet"), Retail_ISO_AMD.RETAILISOAMDDataSet)
    Dim RETAILISOAMDDataSetTableAssetsTableAdapter As Retail_ISO_AMD.RETAILISOAMDDataSetTableAdapters.tableAssetsTableAdapter = New Retail_ISO_AMD.RETAILISOAMDDataSetTableAdapters.tableAssetsTableAdapter()
    RETAILISOAMDDataSetTableAssetsTableAdapter.RemoveAsset(dgvText, dgvText2, dgvText3, dgvText4, dgvText5, dgvText6)
    Dim cbb As ComboBox = Me.FindName("cbbLocation")
    Dim row7 As DataRowView = DirectCast(cbb.SelectedItem, DataRowView)
    Dim cbbtext As String = row.Item("node")
    RefreshGrid(cbbtext)
    End If
    End Sub
    --------- End of Edit
    It is bound to a Dataset which gets it's data from a SQL Database.
    Loading the Data and Filtering the data based on certain conditions work 100%. The problem I am having is as follows:
    I have a form on the Page that takes input and inserts a row into the Database. When this happens, the DataGrid won't automatically reflect the changes (even if I recall the Fill Method of the Dataset). No matter what I do, I have to refresh the entire page
    and THEN Fill the Dataset to see any changes.
    This is what strikes me as odd...
    When I do a delete row operation on the Database (Custom Method on the Dataset with conditions), and just Fill the Dataset again (without doing anything special), the row deletes and the changes is reflected IMMEDIATELY.
    What am I doing wrong here? Why would Delete Row reflect the changes on the DataGrid but no Insert Row?
    Thanks in Advance.
    (P.S. I am very rusty with my developing skills, I haven't done this in YEARS)

    >>And what about the the most important question, how exactly is TableAssetsViewSource defined in the XAML markup and what is
    its Source property set or bound to? And what about the reproducable sample...?
    Here is the Markup of the TableAssetsViewSource:
    <Page.Resources>
    <local:RETAILISOAMDDataSet x:Key="RETAILISOAMDDataSet"/>
    <CollectionViewSource x:Key="TableRegionsViewSource" Source="{Binding tableRegions, Source={StaticResource RETAILISOAMDDataSet}}"/>
    <CollectionViewSource x:Key="TableLocationsViewSource" Source="{Binding tableLocations, Source={StaticResource RETAILISOAMDDataSet}}"/>
    <CollectionViewSource x:Key="TableAssetsViewSource" Source="{Binding tableAssets, Source={StaticResource RETAILISOAMDDataSet}}"/>
    </Page.Resources>
    The ItemsSource of the DataGrid is bound to the TableAssetsViewSource:
    <DataGrid DataContext="{StaticResource TableAssetsViewSource}" ItemsSource="{Binding}" x:Name="TableAssetsDataGrid" AutoGenerateColumns="False" EnableRowVirtualization="True" Margin="15,10,10,10" RowDetailsVisibilityMode="VisibleWhenSelected" Grid.Column="1" HeadersVisibility="Column" CanUserResizeRows="False" IsReadOnly="True">
    Just remember, this code was auto-generated with the drag & drop onto the Page, so I did little in terms of setting the actual bindings.
    All in all, what I have done so far works as intended, except that when I want to add a row to the table it does not reflect, and that it only shows after refreshing/restarting the application.
    I will try and put together a reproducable sample.

  • Delete records from tableA which are not in tableB

    Table A contains milions of records which is the best way to delete records from tableA which are not in tableB
    delete from tableA where empno not in (select empno from tableb)
    or
    delete from tableA where empno not exists (select empno from tableb
    where b.empno=a.empno)
    any help

    Hi
    If you can do this, do with this:
    create table tableC
    as select a.*
    from tableA a,
    (select empno from tableA
    minus
    select empno from tableB) b
    where a.empno = b.empno;
    drop table tableA;
    rename table tableC to tableA;
    Ott Karesz
    http://www.trendo-kft.hu

  • Merge update source table and delete from target table problem

    Hello Friends, 
    I am a newbie in SQL Server world and I am in a situation where I need to delete the bunch of records from the TARGET table using the values from the SOURCE table. 
    The TARGET table has close to 400 Million records, so I need to delete the records in small batches of about ~10,000 rows.
    I figured out a way to delete in batches by refering the following 2 posts
    http://sqlperformance.com/2013/03/io-subsystem/chunk-deletes
    http://dba.stackexchange.com/questions/1750/methods-of-speeding-up-a-huge-delete-from-table-with-no-clauses
    I think my best option to delete and update in 1 pass would be through using Merge statement, so for that I constructed following SQL.
    MERGE dbo.table1 AS TARGET
    USING 
    SELECT File_name FROM dbo.table2
    WHERE  FILE_DESC = 'EDI'
    AND [Processed_date] < DATEADD (WEEK, -10, Getdate ()) AS SOURCE
    ON (TARGET.File_name = SOURCE.File_name)
    WHEN MATCHED THEN DELETE (FROM THE TARGET)
    WHEN MATCHED 
        THEN UPDATE SET SOURCE.PROCESS_delete_date = GETDATE()
    But, when executed, it throws following error and I am struggling to figure out what is wrong with the above syntax. 
    Msg 156, Level 15, State 1, Line 3
    Incorrect syntax near the keyword 'SELECT'.
    Msg 156, Level 15, State 1, Line 5
    Incorrect syntax near the keyword 'AS'.
    Can any expert please help a newbie as I learn the new way.
    Thanks a lot.

    Visakh, we can have more than 1 matched clause in merge as per the Microsoft sql statement, but we need to add a condition along with the match. thanks for your prompt response on this query. your query is logically fine but when executed, it throws
    following error. Msg 156, Level 15, State 1, Line 2 Incorrect syntax near the keyword 'DELETE'. Msg 102, Level 15, State 1, Line 8 Incorrect syntax near ')'. remember, my server machine is 2005 version & my work machine is 2012. dont know why your query
    is not working.
    MERGE is available only from 2008 onwards
    Yes you're correct but again not more than two  MATCHED clauses even if you specify condition
    see MSDN documentation below
    WHEN MATCHED THEN <merge_matched>
    Specifies that all rows of target_table that match the rows returned by <table_source> ON <merge_search_condition>, and satisfy any additional search condition, are either updated or deleted according to the <merge_matched> clause.
    The MERGE statement can have at most two WHEN MATCHED clauses. If two clauses are specified, then the first clause must be accompanied by an AND <search_condition> clause
    from
    http://msdn.microsoft.com/en-us/library/bb510625.aspx
    Also I guess Composable DML which used is also not present in 2005
    So in your case you can try this instead
    DECLARE @DELETED_FILES table
    File_Name varchar(100)
    DELETE t
    OUTPUT DELETED.File_Name INTO @DELETED_FILES
    FROM dbo.table1 t
    INNER JOIN dbo.table2 s
    ON t.File_name = s.File_name
    WHERE s.FILE_DESC = 'EDI'
    AND s.[Processed_date] < DATEADD (WEEK, -10, Getdate ())
    UPDATE r
    SET r.Process_Delete_Date = GETDATE()
    FROM dbo.table2 r
    INNER JOIN @DELETED_FILES AS p
    ON p.File_Name = r.File_Name
    Please Mark This As Answer if it solved your issue
    Please Mark This As Helpful if it helps to solve your issue
    Visakh
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • Deleting rows from table based on value from other table

    Hello Members,
    I am struck to solve the issue said below using query. Would appreciate any suggestions...
    I have two tables having same structures. I want to delete the rows from TableA ( master table ) with the values from TableB ( subset of TableA). The idea is to remove the duplicate values from tableA. The data to be removed are present in TableB. Catch here is TableB holds one row less than TableA, for example
    Table A
    Name Value
    Test 1
    Test 1
    Test 1
    Hello 2
    Good 3
    TableB
    Name Value
    Test 1
    Test 1
    The goal here is to remove the two entries from TableB ('Test') from TableA, finally leaving TableA as
    Table A
    Name Value
    Test 1
    Hello 2
    Good 3
    I tried below queries
    1. delete from TestA a where rowid = any (select rowid from TESTA b where b.Name = a.Name and a.Name in ( select Name from TestB ));
    Any suggestions..
    We need TableB. The problem I mentioned above is part of process. TableB contains the duplicate values which should be deleted from TableA. So that we know what all values we have deleted from TableA. On deleted TableA if I later insert the value from TableB I should be getting the original TableA...
    Thanks in advance

    drop table table_a;
    drop table table_b;
    create table  table_b as
    select 'Test' name, 1 value from dual union all
    select 'Test' ,1 from dual;
    create table table_a as
    select 'Test' name, 1 value from dual union all
    select 'Test' ,1 from dual union all
    select 'Test' ,1 from dual union all
    select 'Hello' ,2 from dual union all
    select 'Good', 3 from dual;
    /* Formatted on 11/23/2011 1:53:12 PM (QP5 v5.149.1003.31008) */
    DELETE FROM table_a
          WHERE ROWID IN (SELECT rid
                            FROM (SELECT ROWID rid,
                                         ROW_NUMBER ()
                                         OVER (PARTITION BY name, VALUE
                                               ORDER BY NULL)
                                            rn
                                    FROM table_a a
                                   WHERE EXISTS
                                            (SELECT 1
                                               FROM table_b b
                                              WHERE a.name = b.name
                                                    AND a.VALUE = b.VALUE))
                           WHERE rn > 1);
    select * from table_a
    NAME     VALUE
    Test     1
    Hello     2
    Good     3Edited by: pollywog on Nov 23, 2011 1:55 PM

  • Delete data from table

    hi gurus,
    i am new to abap.
    i am create a report using
    select-options: apoid,
                           material,
                           location to.
    parameters:      days .
    user want to delete entries from the DB table
    from system date to behind 5 days left entries
    for ex. as today is 25.06.2008 he wants data in DB table
    of only 20.06.2008 to 25.06.2008
    if other data from left these dates are deleted.
    and also in output shows the
    2.     Report output should contain :
    a)     Number of entries selected for deleting from table
    b)     Number of entries deleted from the table table
    c)     Number of entries remaining in the table table
    i am do some coding
    plz help me in this case
    TABLES: zapolp22.
                          INTERNAL TABLE                                 *
    TYPES: BEGIN OF it_output,
           ordid           TYPE ZAPOLP22-ordid,       "APO order id
           schedid         TYPE zapolp22-schedid,     "APO schedule line id
           matnr           TYPE zapolp22-matnr,        "Material Number
           locto           TYPE zapolp22-locto,  "APO Destination location
           lfmng           TYPE zapolp22-lfmng,        "Delivery quantity
           lfdat           TYPE zapolp22-lfdat,        "Shipping date
           locfr           TYPE zapolp22-locfr,     "APO Supplying location
           rqmng           TYPE zapolp22-rqmng,        "Required quantity
           rqdat           TYPE zapolp22-rqdat,        "Delivery date
           prckz           TYPE zapolp22-prckz,  "Data element processing
           blkstk          TYPE zapolp22-blkstk,       "Blocked Quantity
           oppdelqty       TYPE zapolp22-oppdelqty,    "Cumulative order qty
           zzapologmod     TYPE zapolp22-zzapologmod,   "Logistic Model
           zzflagurgent    TYPE zapolp22-zzflagurgent,  "APO Urgency Flag
           zzapottype      TYPE zapolp22-zzapottype,    "APO Transport Means
           zzndays_l_time  TYPE zapolp22-zzndays_l_time,"Lead Time Transport
           END OF it_output.
    DATA : itab1 TYPE STANDARD TABLE OF it_output." WITH HEADER LINE.
    DATA : itab  LIKE LINE OF itab1.
                  SELECTION SCREEN / PARAMETERS                          *
    SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME.
    SELECT-OPTIONS: s_ordid FOR zapolp22-ordid,
                    s_matnr FOR zapolp22-matnr,
                    s_locto FOR zapolp22-locto.
    SELECTION-SCREEN END OF BLOCK a1.
    PARAMETERS: p_days LIKE sy-datum.
                                DATA
    DATA: days TYPE i.
                       START OF SELECTION                                *
    SELECT mandt
           ordid
           schedid
           matnr
           locto
           lfmng
           lfdat
           locfr
           rqmng
           rqdat
           prckz
           blkstk
           oppdelqty
           zzapologmod
           zzflagurgent
           zzapottype
           zzndays_l_time
    FROM zapolp22 INTO itab
    WHERE ordid IN s_ordid  AND
           matnr IN s_matnr  AND
           locto IN s_locto.
    ENDSELECT.
    p_days = sy-datum - days.
    DELETE zapolp22 FROM itab.
    IF sy-subrc = 0.
      WRITE:/ 'DEleted'.
    ENDIF.
    gururs plz help me its urgent.
    thanks
    jayant

    His employer may be aware he's a newbie.  He should of course be looking to his colleagues to help.  But at least he's made an attempt.  Martin is right though - this isn't a problem that requires a guru - it's a beginner task.
    For starters try FROM zapolp22 INTO TABLE itab and remove the ENDSELECT.
    Then LOOP AT itab...ENDLOOP.
    READ the ABAP help for any keywords you don't understand.  And DON'T use itab as a name for your internal table.  Use a MEANINGFUL name.  like t_apo_data.
    matt

  • How do you delete records from table with data in a select option

    how do you delete records from table with relevant to data in a select option..how to write coding

    Hi,
    Try
    if not s_select_option [ ] is initial.
    delete * from table
    where field in s_select_option.
    endif.
    commit work.
    Be careful though. If select option is emty, you will delete the entire table.
    Regards,
    Arek

Maybe you are looking for

  • Is it possible to upgrade the grapic card from ATI 4670 to ATI 4850

    Hello, i bought a 27inch iMac with an ATI Radeon 4670 grapic chip. At the moment the peformance in Games is enough for me. But for the upcoming PC-Games like Diablo 3 or Starcraft 2, i need a better grapic chip. So is it possible afterwards to upgrad

  • How do i set up duplex printing in windows 8

    HP Deskjet 6980 Win 8 pro 64bit how do i gwt support for duplex printing as the basic driver installed does not support it ?

  • Desktop login URL ?

    URL i used to access the desktop is: http:x.x.x.x:80/portal/dt?provider=MyContainer The problem is that the portal expects 'amconsole' to be up and running without timeout. As suggested in the forum I tried using: http:x.x.x.x:80/portal/dt which disp

  • Can not Update camera raw 7.1 to 8.1

    Updating camera raw 8.1

  • Error in OWSM.

    Hi all, I am working on the OWSM part and I am trying to configure the ESB webservice to the OWSM (ccore). While doing so I have deleted the gateway in the EM console which is necessary for the OWSM. Because of this we can't proceed further and we wa