| Author |
Topic |
|
nans04
Starting Member
20 Posts |
Posted - 2004-08-20 : 09:47:15
|
| I need urgent help from your experts. Please help with code. I want to write a trigger on bankrel - upon insert, update, or delete records. The trigger code has to update fields in rmp table.Column "_internid" is unique to tables bankrel and rmpTrigger code fetch values of columns: _bank, _assets, _ change_date from table bankrel, sort them by assests in descending order (largest assets first) within/for each _internid, selects only top four banks within/for each intern_id and bankrel._active = 'Y'.Bankrel table can also have less than four banks for a _internid. But it can select only maximum top 4 banks for each _interid.Code then, updates corresponding columns in rmp table,1. looks for _internid of rmp ie. rmp_internid = bankrel._internid and updates columns in rmp for that _internid: _sow_bank2, _sow_money2, _sow_date2,_sow_bank3, _sow_money3, _sow_date3,_sow_bank4, _sow_money4, _sow_date4, _sow_bank5, _sow_money5, _sow_date53. Suppose there are no values to be updated, say there are only 2 banks for a _internid from table bankrel, the code updates rmp _sow_bank2, _sow_money2, _sow_bank3, _sow_money3.and other fields are left as it is.rmp table columns_sow_bank is varchar_sow_money is float_sow_date is smalldatetime_internid is intbankrel table columns_bank is varchar_assets is varchar_change_date is smalldatetime_internid is intPlease help.thanks so much |
|
|
tkizer
Almighty SQL Goddess
38200 Posts |
Posted - 2004-08-20 : 13:11:04
|
| Could you provide CREATE TABLE statements for your tables, INSERT INTO statements for some sample data, what you want the data to look like after the INSERT and also after the trigger fires? Then we'll be able to help you out.Tara |
 |
|
|
nans04
Starting Member
20 Posts |
Posted - 2004-08-20 : 14:43:22
|
| Shoot!! Table is too bigCREATE TABLE [dbo].[RMP] ( [_INTERNID] [int] NOT NULL , [_CHGDATE] [smallint] NOT NULL , [_CHGTIME] [smallint] NOT NULL , [_STAMP2] [binary] (8) NOT NULL , [_ID] [varchar] (9) NOT NULL , [_ID2] [varchar] (9) NOT NULL , [_CREATE_DATE] [smalldatetime] NOT NULL , [_CHANGED_BY] [varchar] (8) NOT NULL , [_CHANGED_DATE] [smalldatetime] NOT NULL , [_YEAR] [float] NOT NULL , [_STATUS1] [varchar] (8) NOT NULL , [_BUS_SPON] [varchar] (25) NOT NULL , [_CREATE_W] [char] (1) NOT NULL , [_CREATE_WO] [char] (1) NOT NULL , [_CREATE_WF] [char] (1) NOT NULL , [_CREATE_WOF] [char] (1) NOT NULL , [_SEGMENT] [varchar] (10) NOT NULL , [_STATUS2] [varchar] (8) NOT NULL , [_TP] [varchar] (3) NOT NULL , [_SC_POTEN] [varchar] (8) NOT NULL , [_PRIO1] [varchar] (30) NOT NULL , [_PRIO2] [varchar] (30) NOT NULL , [_PRIO3] [varchar] (30) NOT NULL , [_PO_NNM1] [char] (1) NOT NULL , [_PO_NNM2] [char] (1) NOT NULL , [_PO_NNM3] [char] (1) NOT NULL , [_BS_FOC1] [varchar] (30) NOT NULL , [_BS_FOC2] [varchar] (30) NOT NULL , [_BS_FOC3] [varchar] (30) NOT NULL , [_BS_DETA] [text] NOT NULL , [_BS_APPR] [text] NOT NULL , [_IS_FOC1] [varchar] (30) NOT NULL , [_IS_FOC2] [varchar] (30) NOT NULL , [_IS_FOC3] [varchar] (30) NOT NULL , [_IS_DETA] [text] NOT NULL , [_IS_APPR] [text] NOT NULL , [_MCF_FOC1] [varchar] (30) NOT NULL , [_MCF_FOC2] [varchar] (30) NOT NULL , [_MCF_FOC3] [varchar] (30) NOT NULL , [_MCF_DETA] [text] NOT NULL , [_MCF_APPR] [text] NOT NULL , [_REM_FIM] [text] NOT NULL , [_NEX_FIM] [text] NOT NULL , [_SOW_BANK1] [varchar] (40) NULL , [_SOW_BANK2] [varchar] (40) NULL , [_SOW_BANK3] [varchar] (40) NULL , [_SOW_BANK4] [varchar] (40) NULL , [_SOW_BANK5] [varchar] (40) NULL , [_SOW_BANK6] [varchar] (40) NULL , [_SOW_MONEY1] [float] NULL , [_SOW_MONEY2] [float] NULL , [_SOW_MONEY3] [float] NULL , [_SOW_MONEY4] [float] NULL , [_SOW_MONEY5] [float] NULL , [_SOW_MONEY6] [float] NULL , [_SOW_MONEY7] [float] NULL , [_SOW_MONEY8] [float] NULL , [_SOW_DATE1] [varchar] (17) NULL , [_SOW_DATE2] [varchar] (20) NULL , [_SOW_DATE3] [varchar] (20) NULL , [_SOW_DATE4] [varchar] (20) NULL , [_SOW_DATE5] [varchar] (20) NULL , [_SOW_DATE6] [varchar] (20) NULL , [_ST1_RTN] [varchar] (8) NOT NULL , [_ST2_RTN] [varchar] (8) NOT NULL , [_BUS_RTN] [varchar] (25) NOT NULL , [_KEY_RTN] [varchar] (7) NOT NULL , [_IN_NET] [varchar] (6) NOT NULL , [_PP_FOC1] [varchar] (30) NOT NULL , [_PP_FOC2] [varchar] (30) NOT NULL , [_PP_FOC3] [varchar] (30) NOT NULL , [_PP_DETA] [text] NOT NULL , [_PP_APPR] [text] NOT NULL , [_CC_FOC1] [varchar] (30) NOT NULL , [_CC_FOC2] [varchar] (30) NOT NULL , [_CC_FOC3] [varchar] (30) NOT NULL , [_CC_DETA] [text] NOT NULL , [_CC_APPR] [text] NOT NULL , [_IN_FOC1] [varchar] (30) NOT NULL , [_IN_FOC2] [varchar] (30) NOT NULL , [_IN_FOC3] [varchar] (30) NOT NULL , [_IN_DETA] [text] NOT NULL , [_IN_APPR] [text] NOT NULL , [_MCR_FOC1] [varchar] (30) NOT NULL , [_MCR_FOC2] [varchar] (30) NOT NULL , [_MCR_FOC3] [varchar] (30) NOT NULL , [_MCR_DETA] [text] NOT NULL , [_MCR_APPR] [text] NOT NULL , [_REM_RTN] [text] NOT NULL , [_NEX_RTN] [text] NOT NULL , [_SQL] [char] (1) NOT NULL , [_CHANGE_DATE_M1] [varchar] (3) NOT NULL , [_CHANGE_DATE_M2] [varchar] (3) NOT NULL CREATE TABLE [dbo].[SITE] ( [_INTERNID] [int] NOT NULL , [_CHGDATE] [smallint] NOT NULL , [_CHGTIME] [smallint] NOT NULL , [_STAMP1] [binary] (8) NOT NULL , [_SITEDATE] [smallint] NOT NULL , [_SITETIME] [smallint] NOT NULL , [__NAME] [varchar] (60) NOT NULL , [_ID] [varchar] (9) NOT NULL , [_NAME] [varchar] (60) NOT NULL , [_SITET] [varchar] (1) NOT NULL , [_SIRET_NO] [varchar] (14) NOT NULL , [_HEADQUARTERS] [char] (1) NOT NULL , [_HEADQUARTERS_ID] [varchar] (9) NOT NULL , [_E_GROUP] [varchar] (40) NOT NULL , [_LANGUAGE] [varchar] (2) NOT NULL , [_LOCATION] [varchar] (15) NOT NULL , [_OU_TEAM_ALL_HLP] [varchar] (40) NOT NULL , [_OU_TEAM_ALL] [varchar] (80) NOT NULL , [_DESK_HLP] [varchar] (40) NOT NULL , [_DESK] [varchar] (80) NOT NULL , [_MAIN_RLSHIP_MGR] [varchar] (8) NOT NULL , [_MAIN_MGR_SIGN] [char] (1) NOT NULL , [_MAIN_MGR_DEPUTY] [varchar] (8) NOT NULL , [_MAIN_MGR_DEPUTY_SIGN] [char] (1) NOT NULL , [_CO_RLSHIP_MGR1] [varchar] (8) NOT NULL , [_CO_MGR1_SIGN] [char] (1) NOT NULL , [_CO_MGR1_DEPUTY] [varchar] (8) NOT NULL , [_CO_MGR1_DEPUTY_SIGN] [char] (1) NOT NULL , [_CO_RLSHIP_MGR2] [varchar] (8) NOT NULL , [_CO_MGR2_SIGN] [char] (1) NOT NULL , [_CO_MGR2_DEPUTY] [varchar] (8) NOT NULL , [_CO_MGR2_DEPUTY_SIGN] [char] (1) NOT NULL , [_CO_RLSHIP_MGR3] [varchar] (8) NOT NULL , [_CO_MGR3_SIGN] [char] (1) NOT NULL , [_CO_MGR3_DEPUTY] [varchar] (8) NOT NULL , [_CO_MGR3_DEPUTY_SIGN] [char] (1) NOT NULL , [_CO_RLSHIP_MGR4] [varchar] (8) NOT NULL , [_CO_MGR4_SIGN] [char] (1) NOT NULL , [_CO_MGR4_DEPUTY] [varchar] (8) NOT NULL , [_CO_MGR4_DEPUTY_SIGN] [char] (1) NOT NULL , [_CO_RLSHIP_MGR5] [varchar] (8) NOT NULL , [_CO_MGR5_SIGN] [char] (1) NOT NULL , [_CO_MGR5_DEPUTY] [varchar] (8) NOT NULL , [_CO_MGR5_DEPUTY_SIGN] [char] (1) NOT NULL , [_KEY_ACCOUNT_MGR] [varchar] (8) NOT NULL , [_MAIN_AAT_RLSHIP_MGR] [varchar] (8) NOT NULL , [_MAIN_AAT_MGR_SPEC] [varchar] (20) NOT NULL , [_MAIN_AAT_RLSHIP_DPT] [varchar] (8) NOT NULL , [_MAIN_AAT_DPT_SPEC] [varchar] (20) NOT NULL , [_CO_AAT_RLSHIP_MGR] [varchar] (8) NOT NULL , [_CO_AAT_MGR_SPEC] [varchar] (20) NOT NULL , [_CO_AAT_RLSHIP_DPT] [varchar] (8) NOT NULL , [_CO_AAT_DPT_SPEC] [varchar] (20) NOT NULL , [_CO_AAT_RLSHIP_MGR2] [varchar] (8) NOT NULL , [_CO_AAT_MGR2_SPEC] [varchar] (20) NOT NULL , [_CO_AAT_RLSHIP_DPT2] [varchar] (8) NOT NULL , [_CO_AAT_DPT2_SPEC] [varchar] (20) NOT NULL , [_IM_TYPE] [varchar] (3) NOT NULL , [_IM_STATUS] [varchar] (1) NOT NULL , [_IM_STATUS_TIMESTAMP] [varchar] (14) NOT NULL , [_IM_STATUS_TIME_HLP] [varchar] (14) NOT NULL , [_QUALIFICATION] [varchar] (3) NOT NULL , [_QUALIFICATION_OLD] [varchar] (3) NOT NULL , [_QUALI_CHANGEDATE] [smalldatetime] NOT NULL , [_QUALI_CHANGEWHO] [varchar] (8) NOT NULL , [_INTERMED_CODE] [varchar] (4) NOT NULL , [_MASTER_NO] [varchar] (14) NOT NULL , [_RAS_ID] [varchar] (18) NOT NULL , [_GIC] [varchar] (5) NOT NULL , [_OLY_ID_FIM_COMPANY] [varchar] (7) NOT NULL , [_HR_URL] [varchar] (80) NOT NULL , [_REG_BODY] [varchar] (80) NOT NULL , [_LIC_NO] [varchar] (15) NOT NULL , [_LIC_DATE] [datetime] NOT NULL , [_COPY_OF_LIC_REC] [char] (1) NOT NULL , [_ASSOCIATION] [varchar] (80) NOT NULL , [_MEMBER_SINCE] [smallint] NOT NULL , [_SEGMENT_ORIGINAL] [varchar] (2) NOT NULL , [_SEGMENT_EU] [varchar] (2) NOT NULL , [_SEGMENT] [varchar] (2) NOT NULL , [_POTENTIAL_AUM] [float] NOT NULL , [_POTENTIAL_GROSS_REV] [int] NOT NULL , [_POTENTIAL_A1] [char] (1) NOT NULL , [_POTENTIAL_A2] [char] (1) NOT NULL , [_POTENTIAL_A3] [char] (1) NOT NULL , [_POTENTIAL_A4] [char] (1) NOT NULL , [_POTENTIAL_B] [char] (1) NOT NULL , [_POTENTIAL_C] [char] (1) NOT NULL , [_POTENTIAL_D] [char] (1) NOT NULL , [_FREI1] [varchar] (80) NOT NULL , [_FREI2] [varchar] (80) NOT NULL , [_FREI3] [varchar] (80) NOT NULL , [_FREI4] [varchar] (80) NOT NULL , [_POTENTIALBY] [varchar] (8) NOT NULL , [_POTENTIALDATE] [smalldatetime] NOT NULL , [_PROFIT_RATING] [varchar] (2) NOT NULL , [_IM_AUM] [int] NOT NULL , [_IM_AUM_YEAR] [smallint] NOT NULL , [_IM_KPI] [varchar] (10) NOT NULL , [_SPEC_MARKETS] [varchar] (40) NOT NULL , [_DOM_STREET] [varchar] (40) NOT NULL , [_DOM_COUNTRY] [varchar] (35) NOT NULL , [_DOM_COUNTY] [varchar] (20) NOT NULL , [_DOM_POSTALCODE] [varchar] (10) NOT NULL , [_DOM_CITY] [varchar] (40) NOT NULL , [_SAME_ADDRESS] [char] (1) NOT NULL , [_POS_PO_BOX] [varchar] (30) NOT NULL , [_POS_PO_POSTALCODE] [varchar] (10) NOT NULL , [_POS_PO_CITY] [varchar] (40) NOT NULL , [_MAIL_ADDRESS_HEADER] [varchar] (30) NOT NULL , [_MAIL_NAME] [varchar] (60) NOT NULL , [_MAIL_SUPPLEMENT] [varchar] (40) NOT NULL , [_MAIL_STREET_POBOX] [varchar] (50) NOT NULL , [_MAIL_COUNTY] [varchar] (20) NOT NULL , [_MAIL_COUNTRY] [varchar] (35) NOT NULL , [_MAIL_POSTALCODE] [varchar] (10) NOT NULL , [_MAIL_CITY] [varchar] (40) NOT NULL , [_PHONE] [varchar] (25) NOT NULL , [_PHONE2] [varchar] (25) NOT NULL , [_PHONE3] [varchar] (25) NOT NULL , [_FAX] [varchar] (25) NOT NULL , [_E_MAIL1] [varchar] (80) NOT NULL , [_E_MAIL2] [varchar] (80) NOT NULL , [_COMP_URL] [varchar] (80) NOT NULL , [_SALUTATION_COMMON] [varchar] (40) NOT NULL , [_MAILSTOP] [char] (1) NOT NULL , [_MAIL_NUMBERED_ACC] [char] (1) NOT NULL , [_UBS_PUBLIC] [varchar] (80) NOT NULL , [_COMMENT] [varchar] (80) NOT NULL , [_COMMENT2] [text] NOT NULL , [_CREATE_ALERT] [char] (1) NOT NULL , [_ALERT_MESSAGE] [varchar] (60) NOT NULL , [_ALERT_DATE] [smalldatetime] NOT NULL , [_ALERT_AUDIENCE] [varchar] (40) NOT NULL , [_CREATED_BY] [varchar] (8) NOT NULL , [_CREATE_DATE] [smalldatetime] NOT NULL , [_CHANGED_BY] [varchar] (8) NOT NULL , [_CHANGE_DATE] [smalldatetime] NOT NULL , [_UPDATE_WHO] [varchar] (8) NOT NULL , [_UPDATE_WHEN] [smalldatetime] NOT NULL , [_ALL_MANAGERS] [varchar] (50) NOT NULL , [_ALL_AAT_MANAGERS] [varchar] (40) NOT NULL , [_MANUAL_MAIL_ADDRESS] [smallint] NOT NULL , [_ADDR_CHANGE] [char] (1) NOT NULL , [_STATUS_BL] [char] (1) NOT NULL , [_JAHR_1] [varchar] (10) NOT NULL , [_JAHR_2] [varchar] (10) NOT NULL , [_JAHR_3] [varchar] (10) NOT NULL , [_JAHR_4] [varchar] (10) NOT NULL , [_JAHR_5] [varchar] (10) NOT NULL , [_JAHR_6] [varchar] (10) NOT NULL , [_RAS_PERIOD] [varchar] (17) NOT NULL , [_RAS_CURRENCY] [varchar] (3) NOT NULL , [_RAS_Q1_GRANDTOTAL] [int] NOT NULL , [_RAS_Q2_GRANDTOTAL] [int] NOT NULL , [_RAS_Q3_GRANDTOTAL] [int] NOT NULL , [_RAS_Q4_GRANDTOTAL] [int] NOT NULL , [_RAS_SUM] [int] NOT NULL , [_RAS_UPDATE_DATE] [smalldatetime] NOT NULL , [_JAHR_1_QUARTAL_1] [int] NOT NULL , [_JAHR_1_QUARTAL_2] [int] NOT NULL , [_JAHR_1_QUARTAL_3] [int] NOT NULL , [_JAHR_1_QUARTAL_4] [int] NOT NULL , [_JAHR_2_QUARTAL_1] [int] NOT NULL , [_JAHR_2_QUARTAL_2] [int] NOT NULL , [_JAHR_2_QUARTAL_3] [int] NOT NULL , [_JAHR_2_QUARTAL_4] [int] NOT NULL , [_JAHR_3_QUARTAL_1] [int] NOT NULL , [_JAHR_3_QUARTAL_2] [int] NOT NULL , [_JAHR_3_QUARTAL_3] [int] NOT NULL , [_JAHR_3_QUARTAL_4] [int] NOT NULL , [_JAHR_4_QUARTAL_1] [int] NOT NULL , [_JAHR_4_QUARTAL_2] [int] NOT NULL , [_JAHR_4_QUARTAL_3] [int] NOT NULL , [_JAHR_4_QUARTAL_4] [int] NOT NULL , [_JAHR_5_QUARTAL_1] [int] NOT NULL , [_JAHR_5_QUARTAL_2] [int] NOT NULL , [_JAHR_5_QUARTAL_3] [int] NOT NULL , [_JAHR_5_QUARTAL_4] [int] NOT NULL , [_JAHR_6_QUARTAL_1] [int] NOT NULL , [_JAHR_6_QUARTAL_2] [int] NOT NULL , [_JAHR_6_QUARTAL_3] [int] NOT NULL , [_JAHR_6_QUARTAL_4] [int] NOT NULL , [_JAHR_1_SUMME] [int] NOT NULL , [_JAHR_2_SUMME] [int] NOT NULL , [_JAHR_3_SUMME] [int] NOT NULL , [_JAHR_4_SUMME] [int] NOT NULL , [_JAHR_5_SUMME] [int] NOT NULL , [_JAHR_6_SUMME] [int] NOT NULL , [_TARIFF] [varchar] (80) NOT NULL , [_MIS_CURRENCY] [varchar] (3) NOT NULL , [_MIS_REPORT] [varchar] (80) NOT NULL , [_MIS_REPORT1] [varchar] (80) NOT NULL , [_MIS_REPORT2] [varchar] (80) NOT NULL , [_MIS_REPORT3] [varchar] (80) NOT NULL , [_MIS_GROSSREVENUE_Q1] [int] NOT NULL , [_MIS_GROSSREVENUE_Q2] [int] NOT NULL , [_MIS_GROSSREVENUE_Q3] [int] NOT NULL , [_MIS_GROSSREVENUE_Q4] [int] NOT NULL , [_MIS_GROSSREVENUE_SUM] [int] NOT NULL , [_MIS_GROSSREVENUE_AVG] [int] NOT NULL , [_MIS_NETREVENUE_Q1] [int] NOT NULL , [_MIS_NETREVENUE_Q2] [int] NOT NULL , [_MIS_NETREVENUE_Q3] [int] NOT NULL , [_MIS_NETREVENUE_Q4] [int] NOT NULL , [_MIS_NETREVENUE_SUM] [int] NOT NULL , [_POT_YEAR_BEGIN] [float] NOT NULL , [_POT_EURO] [float] NOT NULL , [_PHASE_EURO] [varchar] (20) NOT NULL , [_RESULT_EURO] [float] NOT NULL , [_MIS_NETREVENUE_AVG] [int] NOT NULL , [_MIS_GROSSROA_Q1] [float] NOT NULL , [_MIS_GROSSROA_Q2] [float] NOT NULL , [_MIS_GROSSROA_Q3] [float] NOT NULL , [_MIS_GROSSROA_Q4] [float] NOT NULL , [_MIS_GROSSROA_AVERAGE] [float] NOT NULL , [_MIS_NETROA_Q1] [float] NOT NULL , [_MIS_NETROA_Q2] [float] NOT NULL , [_MIS_NETROA_Q3] [float] NOT NULL , [_MIS_NETROA_Q4] [float] NOT NULL , [_MIS_NO_OF_CLIENTS_1] [float] NOT NULL , [_MIS_NO_OF_CLIENTS_2] [float] NOT NULL , [_MIS_NO_OF_CLIENTS_3] [float] NOT NULL , [_MIS_NO_OF_CLIENTS_4] [float] NOT NULL , [_MIS_NETROA_AVERAGE] [float] NOT NULL , [_MIS_QUARTER_1] [varchar] (17) NOT NULL , [_MIS_QUARTER_2] [varchar] (17) NOT NULL , [_MIS_QUARTER_3] [varchar] (17) NOT NULL , [_MIS_QUARTER_4] [varchar] (17) NOT NULL , [_MIS_AUM_Q1] [float] NOT NULL , [_MIS_AUM_Q2] [float] NOT NULL , [_MIS_AUM_Q3] [float] NOT NULL , [_MIS_AUM_Q4] [float] NOT NULL , [_MIS_AUM_AVERAGE] [float] NOT NULL , [_MIS_AUM_POTENTIAL] [float] NOT NULL , [_MIS_GRROA_POTENTIAL] [float] NOT NULL , [_LEGAL_FORM] [varchar] (70) NOT NULL , [_FOUNDATION_DAY] [smallint] NOT NULL , [_FOUNDATION_MONTH] [smallint] NOT NULL , [_FOUNDATION_YEAR] [smallint] NOT NULL , [_FOUNDATION_DATE] [datetime] NOT NULL , [_CFS] [char] (1) NOT NULL , [_FLAT_FEE] [char] (1) NOT NULL , [_NUMBER_OF_STAFF] [varchar] (10) NOT NULL , [_ESTIMATED_TOTAL_ASS] [float] NOT NULL , [_EST_TOTAL_ASSETS_CCY] [varchar] (3) NOT NULL , [_MININMAL_INVESTMENT] [int] NOT NULL , [_INVESTMENT_CCY] [varchar] (3) NOT NULL , [_SHAREHOLDER1] [varchar] (51) NOT NULL , [_SHARE1_AMOUNT] [int] NOT NULL , [_SHARE1_CCY_PERCENT] [varchar] (3) NOT NULL , [_SHAREHOLDER2] [varchar] (51) NOT NULL , [_SHARE2_AMOUNT] [int] NOT NULL , [_SHARE2_CCY_PERCENT] [varchar] (3) NOT NULL , [_SHAREHOLDER3] [varchar] (51) NOT NULL , [_SHARE3_AMOUNT] [int] NOT NULL , [_SHARE3_CCY_PERCENT] [varchar] (3) NOT NULL , [_SHAREHOLDER4] [varchar] (51) NOT NULL , [_SHARE4_AMOUNT] [int] NOT NULL , [_SHARE4_CCY_PERCENT] [varchar] (3) NOT NULL , [_SHAREHOLDER5] [varchar] (51) NOT NULL , [_SHARE5_AMOUNT] [int] NOT NULL , [_SHARE5_CCY_PERCENT] [varchar] (3) NOT NULL , [_TELEDATA_NO] [varchar] (10) NOT NULL , [_TELEDATA_COMMON] [varchar] (80) NOT NULL , [_COUNT_CONTACT] [int] NOT NULL , [_COUNT_CONTLOG] [int] NOT NULL , [_COUNT_CLOGAAT] [int] NOT NULL , [_COUNT_TODO] [int] NOT NULL , [_COUNT_CTNTRACT] [int] NOT NULL , [_COUNT_TA] [int] NOT NULL , [_COUNT_IMPROD] [int] NOT NULL , [_COUNT_SERVICE] [int] NOT NULL , [_COUNT_BANKREL] [int] NOT NULL , [_COUNT_ADDCODE] [int] NOT NULL , [_COUNT_CNTCTPLN] [int] NOT NULL , [_COUNT_RAS] [int] NOT NULL , [_SIGNATURE_PERSON] [varchar] (8) NOT NULL , [_SIGN_PERSON_TITLE] [varchar] (15) NOT NULL , [_SIGN_PERSON_FNAME] [varchar] (25) NOT NULL , [_SIGN_PERSON_LNAME] [varchar] (25) NOT NULL , [_SIGN_PERSON_PHONE] [varchar] (20) NOT NULL , [_SIGN_PERSON_FAX] [varchar] (20) NOT NULL , [_SIGN_PERSON_OU] [varchar] (40) NOT NULL , [_SIGN_PERSON_DESK] [varchar] (40) NOT NULL , [_SIGN_PERSON_KZ] [varchar] (6) NOT NULL , [_SIGN_PERSON_MKZ] [varchar] (3) NOT NULL , [_SIGN_PERSON_COMPANY] [varchar] (30) NOT NULL , [_SIGN_PERSON_STREET] [varchar] (35) NOT NULL , [_SIGN_PERSON_ZIP] [varchar] (10) NOT NULL , [_SIGN_PERSON_CITY] [varchar] (30) NOT NULL , [_SIGN_PERSON_EMAIL] [varchar] (60) NOT NULL , [_SIGN_PERSON_BUSSECT] [varchar] (30) NOT NULL , [_SIGN_PERSON_POSITION] [varchar] (30) NOT NULL , [_SIGN_PERSON_TEAM] [varchar] (40) NOT NULL , [_SIGNATURE_DH] [varchar] (8) NOT NULL , [_SIGN_DH_TITLE] [varchar] (15) NOT NULL , [_SIGN_DH_FNAME] [varchar] (25) NOT NULL , [_SIGN_DH_LNAME] [varchar] (25) NOT NULL , [_SIGN_DH_PHONE] [varchar] (20) NOT NULL , [_SIGN_DH_FAX] [varchar] (20) NOT NULL , [_SIGN_DH_OU] [varchar] (40) NOT NULL , [_SIGN_DH_DESK] [varchar] (40) NOT NULL , [_SIGN_DH_KZ] [varchar] (6) NOT NULL , [_SIGN_DH_MKZ] [varchar] (3) NOT NULL , [_SIGN_DH_COMPANY] [varchar] (30) NOT NULL , [_SIGN_DH_STREET] [varchar] (35) NOT NULL , [_SIGN_DH_ZIP] [varchar] (10) NOT NULL , [_SIGN_DH_CITY] [varchar] (30) NOT NULL , [_SIGN_DH_EMAIL] [varchar] (60) NOT NULL , [_SIGN_DH_BUSSECT] [varchar] (30) NOT NULL , [_SIGN_DH_POSITION] [varchar] (30) NOT NULL , [_SIGN_DH_TEAM] [varchar] (40) NOT NULL , [_FIRST_NAME_ADD_USER] [varchar] (80) NOT NULL , [_GIVEN_NAME_ADD_USER] [varchar] (80) NOT NULL , [_USER_ROLE_CLASS] [varchar] (8) NOT NULL , [_DESK_CODE] [varchar] (8) NOT NULL , [_DESK_DESCRIPTION] [varchar] (20) NOT NULL , [_LOCATION_ADD_USER] [varchar] (30) NOT NULL , [_LANGUAGE_ADD_USER] [varchar] (5) NOT NULL , [_COMPANY_ADD_USER] [varchar] (80) NOT NULL , [_STREET_ADD_USER] [varchar] (80) NOT NULL , [_ZIP_ADD_USER] [varchar] (10) NOT NULL , [_TOWN_ADD_USER] [varchar] (80) NOT NULL , [_PHONE#_ADD_USER] [varchar] (80) NOT NULL , [_EMAIL_ADD_USER] [varchar] (80) NOT NULL , [_TITLE_ADD_USER] [varchar] (30) NOT NULL , [_MAIN_BANK_COUNT] [smallint] NOT NULL , [_VAT] [varchar] (6) NOT NULL , [_RMP_ID] [varchar] (9) NOT NULL CREATE TABLE [dbo].[BANKREL] ( [_INTERNID] [int] NOT NULL , [_CHGDATE] [smallint] NOT NULL , [_CHGTIME] [smallint] NOT NULL , [_STAMP2] [binary] (8) NOT NULL , [_ID] [varchar] (9) NOT NULL , [_BANK] [varchar] (40) NOT NULL , [_MAIN_BANK] [char] (1) NOT NULL , [_MAIN_BANK_H] [char] (1) NOT NULL , [_LOCATION] [varchar] (20) NOT NULL , [_CONTACT_PERSON] [varchar] (30) NOT NULL , [_INDICATION] [float] NOT NULL , [_ASSETS] [float] NOT NULL , [_ACTIVE] [char] (1) NOT NULL , [_CREATED_BY] [varchar] (8) NOT NULL , [_CREATE_DATE] [smalldatetime] NOT NULL , [_CHANGED_BY] [varchar] (8) NOT NULL , [_CHANGE_DATE] [smalldatetime] NOT NULL , [_SITEID] [varchar] (9) NOT NULL -------------------------------------------------------Sample data in Table bankrel_internid _id _bank _assets _change_date _siteid ----------- --------- --------------------------------------------1 B5AQ51KXS Théme 0.0 2004-08-19 00:00:00 B5AQ51POE1 B5AQ51L3H ABN-AMRO 12.0 2004-08-19 00:00:00 B5AQ51POE1 B5AQ51L59 AIG Privatbank 30.0 2004-08-19 00:00:00 B5AQ51POE1 B5AQ51L83 AVIP 17.0 2004-08-19 00:00:00 B5AQ51POE1 B5AQ51LBK Aargauische Kantonalbank 3.0 2004-08-19 00:00:00 B5AQ51POE2 B5AQ523HH Bank de Genève 1.0 2004-08-19 00:00:00 B5AQ51RDD2 B5AQ523KO Aargauis Kantonalb 90.0 2004-08-19 00:00:00 B5AQ51RDD2 B5AQ523OL ABN 33.0 2004-08-19 00:00:00 B5AQ51RDD3 B5AR454SL AIG Privatbank 34.0 2004-08-19 00:00:00 B5AQ51THS3 B5AR455K3 Sarasin 99.0 2004-08-19 00:00:00 B5AQ51THS--------RMP Table should like this:RMP Columns: _InternId, _RMP_ID, _sow_bank1, _sow_money1, _sow_date1, _sow_bank2, _sow_money2, _sow_date2, _sow_bank3,......1 B5AQ51ITR, AIG Privatbank, 30.0, 2004-08-19 00:00:00, AVIP, 17.0, .....2 B5AQ51R1V, Aargauische Kantonalbank, 90.0, 2004-08-19 00:00:00, ABN-AMRO, 33.0,Bank de Genève, 1.0, NULL, 3 B5AQ51T8X, Sarasin, 99.0, 2004-08-19 00:00:00, AIG Privatbank, 34.0,..,----- |
 |
|
|
nans04
Starting Member
20 Posts |
Posted - 2004-08-20 : 14:44:53
|
| Thanks tara for your help!Coding for this complex for me!! |
 |
|
|
tkizer
Almighty SQL Goddess
38200 Posts |
Posted - 2004-08-20 : 14:57:08
|
| Perhaps you can format this so that you only show which columns are important and also format the data so that it is readable. Typically, you will get a faster answer if you post the data in the form of INSERT INTO statements so that we can try it out on our machines.Tara |
 |
|
|
nans04
Starting Member
20 Posts |
Posted - 2004-08-20 : 16:35:17
|
| Important columns & Sample data for Bankrel:_internid, _bank, _assets, _ change_date, 1 ABN bank 21.0 2004-08-19 00:00:00 1 Privatbank 30.0 2004-08-19 00:00:00 1 AVIP 17.0 2004-08-19 00:00:00 1 Kantonalbank 90.0 2004-08-19 00:00:00 2 Bank de Genève 1.0 2004-08-19 00:00:00 Important Columns of RMP for our query: _internid, _sow_bank2, _sow_money2, _sow_date2, _sow_bank3, _sow_money3, _sow_date3, _sow_bank4, sow_money4, _sow_date4,_sow_bank5, sow_money5, _sow_date5Typically RMP rows looks like this (after update): for above column names:1, Kantonalbank, 90.0, 2004-08-19 00:00:00, Privatbank, 30.0, 2004-08-19 00:00:00, ABN Bank, 21.0, 2004-08-19 00:00:00, AVIP, 17.0, 2004-08-19 00:00:002, Bank de Genève, 1.0, 2004-08-19 00:00:00, blank, blank, blank , , , , ,Sorry I dont have any insert into statements. I have tried by best to explain the problem I have on hand. I need to write a trigger every time when there is an insert, update on table bankrel and sort the banks by assets, update actual info (insert into) in RMP |
 |
|
|
tkizer
Almighty SQL Goddess
38200 Posts |
Posted - 2004-08-20 : 16:40:01
|
| You need to write the INSERT INTO statements. That's how we come up with a solution for you. In order for us to help you quickly, we need the information in a certain format.Tara |
 |
|
|
nans04
Starting Member
20 Posts |
Posted - 2004-08-20 : 17:39:54
|
| Sorry I am newbie to T-SQL. If I understood you correctly, the insert statement should like: INSERT INTO RMP (_sow_bank2, _sow_money2, _sow_date2, _sow_bank3, _sow_money3, _sow_date3, _sow_bank4, sow_money4, _sow_date4,_sow_bank5, sow_money5, _sow_date5) values (select top 4 _bank, _assets, _change_date where rmp._internid = bankrel._internid and bankrel._active = 'y' order by bankrel._assets desc)??? |
 |
|
|
nr
SQLTeam MVY
12543 Posts |
Posted - 2004-08-20 : 17:47:18
|
| Did you design the structure - if so I would redesign before you go any further, you might find it will solve your problems.==========================================Cursors are useful if you don't know sql.DTS can be used in a similar way.Beer is not cold and it isn't fizzy. |
 |
|
|
nans04
Starting Member
20 Posts |
Posted - 2004-08-20 : 18:05:37
|
| NO I didnt design the structure. Its an existing DB structure. I need to code for a requirement |
 |
|
|
nans04
Starting Member
20 Posts |
Posted - 2004-08-22 : 06:59:24
|
| I want to write trigger code to update values in table1 to table2.I guess ALTER, CREATE, DROP cannot be used in a trigger. As you can see, code must select only active('Y') names in table1 arrange in descending order of asset for each ID and updates(or insert into?)table2.Please help me with codeTabel1ID, Name, Asset, Date, Active---------------------------------1, A, 10 , 01/08/04 Y1, B, 16 , 06/08/04 Y1, C, 12 , 07/08/04 Y1, D, 13 , 10/08/04 Y2, E, 10 , 15/08/04 Y2, F, 11 , 16/08/04 Y2, Y, 12 , 01/08/04 N2, G, 15 , 17/08/04 Y3, H, 13 , 19/08/04 Y3, I, 15 , 02/08/04 NTable2 after updateID, Name1, Asset1, Date1, Name2, Asset2, Date2, Name3, Asset3, Date3, Name4, Asset4, Date4---------------------------------1,B,16,06/08/04,D,13,10/08/04,C,12,07/08/04,A,10,01/08/042,F,11,16/08/04,E,10,15/08/04,blank,blank, blank..3,H,13,19/08/04,blank, blank... |
 |
|
|
nr
SQLTeam MVY
12543 Posts |
Posted - 2004-08-22 : 07:33:47
|
| create trigger t on Table1 for insert, update, deleteasselect id, num = convert(int, 0)into #afrom(select idunionselect id) aupdate #a set num = count(*)from Table1 t1where #a.id = t1.idand t1.Active = 'Y'update Table2set Name1 = blank ,Asset1 = blank ,Date1 = blank ,Name2 = blank ,...from table2join #aon Table2.id = #a.idinsert Table2select #a.id, blank, blank, ...from #aleft outer join Table2 t2on t2.id = #a.idwhere t2.id is nullupdate Table2set Name1 = (select Name from (select top1 * from (select top 1 * from Table1 t1 where t1.id = t2.id and t1.Active = 'Y' order by Asset) a order by Asset desc) ,Asset1 = (select Asset from (select top1 * from (select top 1 * from Table1 t1 where t1.id = t2.id and t1.Active = 'Y' order by Asset) a order by Asset desc) ,Date1 = (select Date from (select top1 * from (select top 1 * from Table1 t1 where t1.id = t2.id and t1.Active = 'Y' order by Asset) a order by Asset desc)from Table2 t2join #aon t2.id = #a.idwhere #a.num >= 1update Table2set Name2 = (select Name from (select top2 * from (select top 1 * from Table1 t1 where t1.id = t2.id and t1.Active = 'Y' order by Asset) a order by Asset desc) ,Asset2 = (select Asset from (select top2 * from (select top 1 * from Table1 t1 where t1.id = t2.id and t1.Active = 'Y' order by Asset) a order by Asset desc) ,Date2 = (select Date from (select top2 * from (select top 1 * from Table1 t1 where t1.id = t2.id and t1.Active = 'Y' order by Asset) a order by Asset desc)from Table2 t2join #aon t2.id = #a.idwhere #a.num >= 1........==========================================Cursors are useful if you don't know sql.DTS can be used in a similar way.Beer is not cold and it isn't fizzy. |
 |
|
|
nans04
Starting Member
20 Posts |
Posted - 2004-08-22 : 13:59:52
|
| Thanks a lot. The column in table2 doesnt allow null values. how do I solve this problem?Does null value = blank?? |
 |
|
|
nr
SQLTeam MVY
12543 Posts |
Posted - 2004-08-22 : 14:22:11
|
| Where I have blank put in whatever value you need - probably '' or 0.Nothing else should try to update with null.==========================================Cursors are useful if you don't know sql.DTS can be used in a similar way.Beer is not cold and it isn't fizzy. |
 |
|
|
nans04
Starting Member
20 Posts |
Posted - 2004-08-23 : 04:05:01
|
| Hi nr,When I run this code in QA, I these errors:Server: Msg 170, Level 15, State 1, Line 3Line 3: Incorrect syntax near ','.Server: Msg 170, Level 15, State 1, Line 4Line 4: Incorrect syntax near ','.Server: Msg 156, Level 15, State 1, Line 5Incorrect syntax near the keyword 'from'.---------------------update rmpset _sow_bank3 = (select _bank from (select top 1 * from (select top 1 * from bankrel b where b._internid = r._internid and b._active = 'Y' order by b._assets) a order by _assets desc), _sow_money3 = (select _asset from (select top 1 * from (select top 1 * from bankrel b where b._internid = r._internid and b._active = 'Y' order by b._assets) a order by _assets desc), _sow_date3 = (select _change_date from (select top 1 * from (select top 1 * from bankrel b where b._internid = r._internid and b._active = 'Y' order by b._assets) a order by _assets desc)from rmp r join #a on r._internid = #a._id where #a.num >= 1---------------------------------Any idea? |
 |
|
|
nans04
Starting Member
20 Posts |
Posted - 2004-08-23 : 04:07:14
|
| Hi nr,------------------update #a set num = count(*)from Bankrel b where #a._id = b._internid and b._active = 'Y'------------------------------Erro msg for this:An aggregate may not appear in the set list of an UPDATE statement. |
 |
|
|
nans04
Starting Member
20 Posts |
Posted - 2004-08-23 : 05:16:47
|
| select _id, num = convert(int, 0) into #a from (select _id union select _id ) a;I get this error:Server: Msg 207, Level 16, State 3, Line 1Invalid column name '_id'.Server: Msg 207, Level 16, State 1, Line 1Invalid column name '_id'. |
 |
|
|
nr
SQLTeam MVY
12543 Posts |
Posted - 2004-08-23 : 05:29:50
|
| oops - wasn't doing very wellDon't now what the idea behind that union was - it'll probably turn up later.select distinct id, num = convert(int, 0)into #afromTabel1 where Active = 'Y'update #a set num = (select count(*)from Table1 t1where #a.id = t1.idand t1.Active = 'Y')==========================================Cursors are useful if you don't know sql.DTS can be used in a similar way.Beer is not cold and it isn't fizzy. |
 |
|
|
nans04
Starting Member
20 Posts |
Posted - 2004-08-23 : 06:23:37
|
| Hi, Thanks for your earlier reply. I am not able to get rid of syntax errors.....----update Table2set Name1 = (select Name from (select top 1 * from (select top 1 * from Table1 t1 where t1.id = t2.id and t1.Active = 'Y' order by Asset) a order by Asset desc) ,Asset1 = (select Asset from (select top 1 * from (select top 1 * from Table1 t1 where t1.id = t2.id and t1.Active = 'Y' order by Asset) a order by Asset desc) ,Date1 = (select Date from (select top 1 * from (select top 1 * from Table1 t1 where t1.id = t2.id and t1.Active = 'Y' order by Asset) a order by Asset desc)from Table2 t2join #aon t2.id = #a.idwhere #a.num >= 1-----I get these errors:Server: Msg 170, Level 15, State 1, Line 2Line 2: Incorrect syntax near ','.Server: Msg 170, Level 15, State 1, Line 3Line 3: Incorrect syntax near ','.Server: Msg 156, Level 15, State 1, Line 5Incorrect syntax near the keyword 'from'. |
 |
|
|
nr
SQLTeam MVY
12543 Posts |
Posted - 2004-08-23 : 06:39:52
|
| tryupdate Table2set Name1 = (select Name from (select top 1 * from (select top 1 * from Table1 t1 where t1.id = t2.id and t1.Active = 'Y' order by Asset) a order by Asset desc) b) ,Asset1 = (select Asset from (select top 1 * from (select top 1 * from Table1 t1 where t1.id = t2.id and t1.Active = 'Y' order by Asset) a order by Asset desc) b) ,Date1 = (select Date from (select top 1 * from (select top 1 * from Table1 t1 where t1.id = t2.id and t1.Active = 'Y' order by Asset) a order by Asset desc) b)from Table2 t2join #aon t2.id = #a.idwhere #a.num >= 1==========================================Cursors are useful if you don't know sql.DTS can be used in a similar way.Beer is not cold and it isn't fizzy. |
 |
|
|
nans04
Starting Member
20 Posts |
Posted - 2004-08-23 : 07:01:59
|
| Thanks again nr!NO syntax error this time. but when I run query, I get these messages:Server: Msg 107, Level 16, State 3, Line 1The column prefix 't2' does not match with a table name or alias name used in the query.Server: Msg 107, Level 16, State 1, Line 1The column prefix 't2' does not match with a table name or alias name used in the query.Server: Msg 107, Level 16, State 1, Line 1The column prefix 't2' does not match with a table name or alias name used in the query.May be I have use kie this:...select top 1 * from Table1 t1, Table2 t2 where t1.id = t2.id and t1.Active = 'Y' .... ???? |
 |
|
|
Next Page
|
|
|