Olá, eu possuo 2 servidores, no qual acabei migrando 1 pro outro com isso eu queria que seleciona-se esses dados de um banco de dados: exemplo: use bancoB select SELECT memb___id FROM MEMB_INFO WHERE migrado=1 nesse caso todos migrado=1 é todos que migrou a conta , com isso quero dar cashs a todos que migraram sua conta ai quero usar essa query para todos que foram migrados use BancoA UPDATE z_Credits SET value = value + 100 where type = 1 como eu faria a query para todos que migrou a conta no banco de dadosB ganhar cashs no banco de dadsoA?
Pelo que eu entendi, você tem 2 DBs e quer dar cash apenas para as contas migradas, mas fiquei em dúvida em relação a uma coisa. Nessa DB original (BancoB), a tabela MEMB_INFO possui a coluna "migrado"? Me diz qual a coluna que identifica o login do usuário na table z_Credits (coluna equivalente à memb___id da memb_info). ================================================== ===== update. Peço apenas que confirme qual a coluna de identificação do login na table z_Credits (eu coloquei "login", mas mude de acordo com a tua), na seguinte parte da query: Código: UPDATE [@DB_NOVA].[dbo].[z_Credits] SET [value] = [value] + @BONUS_CASH WHERE [type] = '1' AND [login] = @LOGINS -- NÃO MEXA AQUI Se for isso ai que eu entendi, a query é essa que está abaixo (lembre de . Código: -- SCRIPT CRIADO POR -- RENATO VALER -- 24/10/2014 -- 11:17 /* DECLARANDO VARIÁVEIS */ DECLARE @BONUS_CASH int; -- NÃO MEXA AQUI DECLARE @DB_ORIGINAL varchar(255); -- NÃO MEXA AQUI DECLARE @DB_NOVO varchar(255); -- NÃO MEXA AQUI DECLARE @LOGINS varchar(12); -- NÃO MEXA AQUI /* ============================================ */ /* INÍCIO DAS CONFIGURAÇÕES */ /* ============================================ */ SET @BONUS_CASH = 2; -- DEFINE A QUANTIDADE DE CASH SER DADO COMO BÔNUS SET @DB_ORIGINAL = 'MuOnline_Backup'; -- DEFINE O NOME DA DB ORIGINAL (QUE TINHA AS CONTAS QUE FORAM MIGRADAS) SET @DB_NOVA = 'MuOnline'; -- DEFINE O NOME DA NOVA DB (QUE RECEBEU A MIGRAÇÃO DA DB ORIGINAL) /* ============================================ */ /* FIM DAS CONFIGURAÇÕES */ /* ============================================ */ /* DECLARANDO CURSOR */ DECLARE CURSOR_CASH CURSOR FOR -- NÃO MEXA AQUI /* LISTANDO LOGINS VIP */ SELECT memb___id FROM [@DB_ORIGINAL].[dbo].[Memb_Info] WHERE migrado > 0 -- NÃO MEXA AQUI OPEN CURSOR_CASH; -- NÃO MEXA AQUI FETCH NEXT FROM CURSOR_CASH INTO @LOGINS -- NÃO MEXA AQUI WHILE(@@FETCH_STATUS = 0)BEGIN -- NÃO MEXA AQUI /* ATUALIZANDO CASH */ UPDATE [@DB_NOVA].[dbo].[z_Credits] SET [value] = [value] + @BONUS_CASH WHERE [type] = '1' AND [login] = @LOGINS -- NÃO MEXA AQUI FETCH NEXT FROM CURSOR_CASH INTO @LOGINS; -- NÃO MEXA AQUI END; -- NÃO MEXA AQUI CLOSE CURSOR_CASH; -- NÃO MEXA AQUI DEALLOCATE CURSOR_CASH; -- NÃO MEXA AQUI
UPDATE [@DB_NOVA].[dbo].[z_Credits] SET [value] = [value] + @BONUS_CASH WHERE [type] = '1' AND [login] = @LOGINS -- NÃO MEXA AQUI
-- SCRIPT CRIADO POR -- RENATO VALER -- 24/10/2014 -- 11:17 /* DECLARANDO VARIÁVEIS */ DECLARE @BONUS_CASH int; -- NÃO MEXA AQUI DECLARE @DB_ORIGINAL varchar(255); -- NÃO MEXA AQUI DECLARE @DB_NOVO varchar(255); -- NÃO MEXA AQUI DECLARE @LOGINS varchar(12); -- NÃO MEXA AQUI /* ============================================ */ /* INÍCIO DAS CONFIGURAÇÕES */ /* ============================================ */ SET @BONUS_CASH = 2; -- DEFINE A QUANTIDADE DE CASH SER DADO COMO BÔNUS SET @DB_ORIGINAL = 'MuOnline_Backup'; -- DEFINE O NOME DA DB ORIGINAL (QUE TINHA AS CONTAS QUE FORAM MIGRADAS) SET @DB_NOVA = 'MuOnline'; -- DEFINE O NOME DA NOVA DB (QUE RECEBEU A MIGRAÇÃO DA DB ORIGINAL) /* ============================================ */ /* FIM DAS CONFIGURAÇÕES */ /* ============================================ */ /* DECLARANDO CURSOR */ DECLARE CURSOR_CASH CURSOR FOR -- NÃO MEXA AQUI /* LISTANDO LOGINS VIP */ SELECT memb___id FROM [@DB_ORIGINAL].[dbo].[Memb_Info] WHERE migrado > 0 -- NÃO MEXA AQUI OPEN CURSOR_CASH; -- NÃO MEXA AQUI FETCH NEXT FROM CURSOR_CASH INTO @LOGINS -- NÃO MEXA AQUI WHILE(@@FETCH_STATUS = 0)BEGIN -- NÃO MEXA AQUI /* ATUALIZANDO CASH */ UPDATE [@DB_NOVA].[dbo].[z_Credits] SET [value] = [value] + @BONUS_CASH WHERE [type] = '1' AND [login] = @LOGINS -- NÃO MEXA AQUI FETCH NEXT FROM CURSOR_CASH INTO @LOGINS; -- NÃO MEXA AQUI END; -- NÃO MEXA AQUI CLOSE CURSOR_CASH; -- NÃO MEXA AQUI DEALLOCATE CURSOR_CASH; -- NÃO MEXA AQUI
Última edição por Renato; 24-10-2014 às 12:18 PM.
Código PHP: <?php if(Weather::getState() == 'Rainy weather') { $this->removingLittleHorseFromRain(); }
<?php if(Weather::getState() == 'Rainy weather') { $this->removingLittleHorseFromRain(); }
as 2 é o banco de dados muonline porém o banco onde fica as contas migradas fica no banco de dadosB o bancoA é oque eu uso no meu servidor onde quero por os cashs para eles onde que fica a z_credits
Tudo bem. A query ta ai. Faça a correção quanto a coluna "login" da z_Credits se for necessário e seja feliz.
eu não consegui fazer a alteração quando vou por ali, não dá pra por mem__id só da pra por memb_info etc
Cara, qual a estrutura das tabelas envolvidas na operação? Posta a estrutura DA MEMB_INFO (DA DB ORIGINAL) e a estrutura da z_Credits (DA NOVA DB).
explicando no banco de dados: MuFable lá tem a memb_info , onde fica a tabela " migrado " , quando a conta é migrada para o banco MuOnline , no banco de dados MuFable fica migrado com status = 1 que foi migrada eu quero pegar todas as contas da BD MuFable que está com status 1 na tabela migrador e dar os cashs para eles na z_Credits tabelas da z_credits: [Somente usuários registrados podem vem os links. ] essa query : UPDATE z_Credits SET value = value + 100 where type = 1 é a que eu uso para dar cashs para todas as contas, porém eu quero dar esses cashs só pra quem migrou a conta
/* DECLARANDO VARIÁVEIS */ DECLARE @BONUS_CASH int; -- NÃO MEXA AQUI DECLARE @DB_ORIGINAL varchar(255); -- NÃO MEXA AQUI DECLARE @DB_NOVA varchar(255); -- NÃO MEXA AQUI DECLARE @LOGINS varchar(12); -- NÃO MEXA AQUI /* ============================================ */ /* INÍCIO DAS CONFIGURAÇÕES */ /* ============================================ */ SET @BONUS_CASH = 2; -- DEFINE A QUANTIDADE DE CASH SER DADO COMO BÔNUS SET @DB_ORIGINAL = 'MuFable'; -- DEFINE O NOME DA DB ORIGINAL (QUE TINHA AS CONTAS QUE FORAM MIGRADAS) SET @DB_NOVA = 'MuOnline'; -- DEFINE O NOME DA NOVA DB (QUE RECEBEU A MIGRAÇÃO DA DB ORIGINAL) /* ============================================ */ /* FIM DAS CONFIGURAÇÕES */ /* ============================================ */ /* DECLARANDO CURSOR */ DECLARE CURSOR_CASH CURSOR FOR -- NÃO MEXA AQUI /* LISTANDO LOGINS VIP */ SELECT memb___id FROM [@DB_ORIGINAL].[dbo].[Memb_Info] WHERE migrado > 0 -- NÃO MEXA AQUI OPEN CURSOR_CASH; -- NÃO MEXA AQUI FETCH NEXT FROM CURSOR_CASH INTO @LOGINS -- NÃO MEXA AQUI WHILE(@@FETCH_STATUS = 0)BEGIN -- NÃO MEXA AQUI /* ATUALIZANDO CASH */ UPDATE [@DB_NOVA].[dbo].[z_Credits] SET [value] = [value] + @BONUS_CASH WHERE [type] = '1' AND [memb___id] = @LOGINS -- NÃO MEXA AQUI FETCH NEXT FROM CURSOR_CASH INTO @LOGINS; -- NÃO MEXA AQUI END; -- NÃO MEXA AQUI CLOSE CURSOR_CASH; -- NÃO MEXA AQUI DEALLOCATE CURSOR_CASH; -- NÃO MEXA AQUI
"O importante não é vencer todos os dias, mas lutar sempre." - Waldemar Valle Martins
mustx1 , executei porém aparece: Msg 208, Level 16, State 1, Line 24 Invalid object name '@DB_ORIGINAL.dbo.MEMB_INFO'.
Postado originalmente por Mapta mustx1 , executei porém aparece: Msg 208, Level 16, State 1, Line 24 Invalid object name '@DB_ORIGINAL.dbo.MEMB_INFO'. /* LISTANDO LOGINS VIP */ Use @DB_ORIGINAL Select memb___id migrado FROM MEMB_INFO WHERE migrado > 0
Renato
Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)
Regras do Fórum