Hej, Tydligen ska man inte ha med "GO"... någon som vet varför? Hej När jag använder Enerprize Manager och skapar proceduren direkt under stored procedures så fungerar den felfritt, även när jag anropar den ifrån koden. Jag har också testat den genom Query Analyzer, där det också verkar fungera. Hej Lagrad Procedur i MSSQL Server 2005
Jag kör en lagrad procedur i min databas som ser ut så här:
CREATE PROCEDURE [GetChildPages]
(@PageID int)
AS
SELECT PageID, PageTitle, PageParentID
FROM TblPages
WHERE (PageParentID = @PageID)
ORDER BY PageSortOrder
GO
När jag försöker skapa samma procedur i databasen jag har på webbhotellet (surftown) så får jag felmeddelandet: "Incorrect syntax near 'GO'."
Lokalt fungerar den utmärkt, och den enda skillnaden jag ser är att den externa servern är en 2005, vilket min lokala inte är... har jag skrivit fel eller är det nått annat som spökar?Sv: Lagrad Procedur i MSSQL Server 2005
(nä, jag är inte nån höjdare på SPn :/ )Sv: Lagrad Procedur i MSSQL Server 2005
För att avara på frågan om GO (Taget från BOL):
GO is not a Transact-SQL statement; it is a command recognized by the sqlcmd and osql utilities
and SQL Server Management Studio Code editor.
Vad är det som inte fungerar som det ska?
/HåkanSv:Lagrad Procedur i MSSQL Server 2005
När jag försöker lägga upp samma procedur via surftowns databashanteringsapplikation (myLittleAdmin) så får jag felmeddelandet jag skrev innan. Tar jag bort "GO" på slutet fungerar det däremot i den meningen attt den inte ger något felmeddelande utan sparar proceduren. Men den gör dessvärre inte vad den ska göra när jag anropar den från koden, fast jag får inget felmeddelande.
Jag testade också att köra den utan "GO" från Query Analyzer och då fick jag felmeddelandet att proceduren redan finns...
Så tydligen är det ingen bra lösning att bara ta bort GO. Sv: Lagrad Procedur i MSSQL Server 2005
GO hör ihop med kommandot CREATE PROCEDURE (i det här fallet).
CREATE kan du bara köra en gång (om du inte tar bort emellan), därav felmeddelandet (att den finns).
Ska du köra på den igen till hotellet får du byta ut CREATE mot ALTER.
/Håkan