SQL детское...

  • Всем привет! Я в тупике... На работе сижу над созданием одного подраздела в интранете и нужно написать StoredProcedure. Код к сожалению выложить не могу, но суть проблемы попытаюсь объяснить по простому.


    имеем таблица:
    abt_nr abt_name stadt

    a1 Beratung Munchen
    a2 Diagnose Munchen
    a3 Freigabe Stuttgart



    declare  abc varchar(50)
    set  abc = 'Stadt'


    select *
    from abteilung
    where  abc = 'Stuttgart'


    -- abc это переменная. Если запускаю, то получаю пустую таблицу. Почему SQL не видит переменную в WHERE клаузе ? ;(


    спасибо

  • Без переменной конечно работает нормально! Просто думал есть волшебное "толчковое" слово. Типа exec... или что-то типа такого. :) В смысле в чем пишу?

  • ну ты напрямую в кокои-то графической оболочке sql запрашиваеш, или в каком-то языке программиерования ?
    не могу сейчас проверить , но не получается ли так что присвоение перемменой @абс значения Stadt. он не прохавывает, что это с Таблицы Abteilung.
    Может надо как-то так написать : set abc = Abteilung-Stadt
    и потом ест. сравнение не совпадает?...

  • пишу пока просто в SQL Server Management Studio... Значение я присвоил правильно... только в WHERE клаузу он передает пустое значение.

  • Таблицы или шпальты как параметры нельзя использовать в SQL, попробуй так - у меня работало (правда с ........ WHERE IN (int) ), если не получится
    то попробуй погуглить "dynamic SQL"