In Pokemon X and Y, Bulbasaur can learn Gig Drain and Leaf Storm a couple different ways. You can either teach them through HMs, or allow the pokemon to level up enough to learn the abilities.
From my experience, you cannot find or buy the move Giga Drain In Pokemon Emerald. It is only a learned move. If you have a Shroomish, it will learn Giga Drain in one of its advanced stages.
Giga Drain.
giga drain
TM19 Giga Drain is given by the Celadon City Gym Leader Erika after winning a battle against her.
anything related to grass, ground, and some normal moves also like the HM cut
Tackle,Leer,Vine Whip,Wrap,Growth,Leaf Tornado,Leech Seed,Mega Drain,Slam,Leaf Blade,Coil,Giga Drain,Wring Out,Gastro Acid,Leaf Storm
Head south of Mt. Pyre, and you'll see a girl next to the soil. If you have a Grass-type in your party, she'll give you TM 19 - Giga Drain.
Grass type moves like Giga Drain and Solarbeam.
You'll need to level these Pokemon to a certain level to get Giga Drain. (Giga Drain isn't a TM.) Oddish, Gloom, Paras, Parasect, Hoppip, Skiploom, Jumpluff, Sunkern, Treecko, Beautifly, Shroomish, Roselia, Turtwig, Grotle, Torterra, Leageon, Snivy, Servine, Serperior, Cottonee, Petilil, Maractus, Foongus, Amoonguss, Shelmet, Accelgor, and Virizion.
His best moves are leaf storm frenzy plant giga drain leaf blade in my opinion
TM19 can be Seismic Toss, Giga Drain, Telekinesis, or Roost depending on what generation you are playing in.
Roselia learn giga drain at 25 before evolve to roserade.