Avatar billede shjdsi Nybegynder
20. august 2002 - 16:56 Der er 1 løsning

sql ting

hvad er der galt med disse linier
Jeg prøver at lave et script i unix på følgende måde
jeg vil gerne have puttet indholdet af @state over i en shell variabel.

Jeg ved ikke rigtig hvad jeg har gang i med hensyn til sybase delen, men er godt hjemme i shell programmering, men har bare kigget i et andet script.

Er der nogen der kan give et hint her ?


#!/bin/sh
ISQL="/opt/sybase/OCS-12_0/bin/isql"
CONN=`/opt/sybase/OCS-12_0/bin/isql -Umosaic -Pnopasswd -Sultra1  << EOF
declare @state int
set nocount on
select @state=select state from Queue where name="Backup"
print "%1!",@state
go
go
EOF`
TEST="state: ${1}"
echo $TEST
Avatar billede sqlanywhere Nybegynder
26. august 2003 - 17:42 #1
Der er fejl i dit select statement. Det skal være:

select @state = state from Queue where name="Backup

Da du opererer med en variabel (@state) så bliver resultatsættet, uanset hvor mange records select statementet ellers returnerer, kun en enkelt record. En variabel kan kun indeholde en enkelt værdi. Hvis du skal have flere værdier retur, er det nødvendigt med et cursor statement.

Ellers ser dit statement rigtigt nok ud.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester