Дэн прав, но :{
и :}
должны появляться в отдельной строке:
> :{
> let foo a b = a +
> b
> :}
> :t foo
foo :: (Num a) => a -> a -> a
Это также взаимодействует с правилом макета, поэтому при использовании do-notation это может быть проще использовать фигурные скобки и полуколоны. Например, это определение не выполняется:
> :{
| let prRev = do
| inp <- getLine
| putStrLn $ reverse inp
| :}
<interactive>:1:18:
The last statement in a 'do' construct must be an expression
Но он работает, когда добавляются фигурные скобки и полуколоны:
> :{
| let prRev = do {
| inp <- getLine;
| putStrLn $ reverse inp;
| }
| :}
> :t prRev
prRev :: IO ()
Это будет иметь значение только при вставке определений из файла , где отступы могут меняться.
Используйте SELECT вместо RETURN
CREATE PROCEDURE dbo.GetLastConnectedDate
--- INPUT PARAMETERS IF ANY
AS
BEGIN
SET NOCOUNT ON;
----- YOUR OTHER RELATED QUERIES
IF(@LastConnected IS NOT NULL)
SELECT @LastConnected ----- Use SELECT instead of RETURN here.
RETURN @StatusCode
END
GO