jQw*_*rdy 4 sql t-sql sql-server ssms
尝试这样做(在SQL Server Management Studio中)
DECLARE @fun as int
SET @fun = 40
PRINT 'String' + 'Hello!'
EXEC msdb.dbo.sp_senddbmail
@profile_name = 'Some working profile',
@recipients = 'someone@example.ca',
@subject = 'String' + 'Hello!',
@body = 'Test email sendout'
Run Code Online (Sandbox Code Playgroud)
得到此错误:
消息102,级别15,状态1,行8
'+'附近的语法不正确.
注意第一个连接工作,第二个连接不工作.
我采取的步骤:
重新输入全部(因此它不是复制粘贴错误).尝试将其更改为('String'+'Hello!')并获得错误Incorrect syntax near '('.所以我感觉有点迷失.
编辑2:我已经改变了这个例子,因为当它的两个字符串没有涉及演员表时会发生同样的错误
Phi*_*ley 13
传递给存储过程参数的值(在T-SQL中)必须是,"单个值"(暂时不能想到技术术语).您不能使用以下代码:
@subject = A + B + C
Run Code Online (Sandbox Code Playgroud)
你只能拥有像这样的代码
@subject = A
Run Code Online (Sandbox Code Playgroud)
所以在这种情况下,你需要这样的东西:
DECLARE
@fun int
,@Subject nvarchar(255)
SET @fun = 40
SET @Subject = 'String' + 'Hello!'
EXEC msdb.dbo.sp_send_dbmail -- Added the second underscore...
@profile_name = 'Some working profile',
@recipients = 'someone@example.ca',
@subject = @Subject,
@body = 'Test email sendout'
Run Code Online (Sandbox Code Playgroud)
试试这个,将 int 值转换为 varchar,然后与另一个 varchar 值连接
DECLARE @fun as int
SET @fun = 40
PRINT convert(varchar(10), @fun) + 'Hello!'
EXEC msdb.dbo.sp_senddbmail
@profile_name = 'Some working profile',
@recipients = 'someone@example.ca',
@subject = convert(varchar(10), @fun) + 'Hello!',
@body = 'Test email sendout'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8802 次 |
| 最近记录: |