ALTER PROCEDURE [dbo].[p_编码] ( @部门编号 NVARCHAR(50), @设备编码 NVARCHAR(50) ) AS BEGIN DECLARE @sNewNoteNo NVARCHAR(50); EXEC JLSoft_PD.dbo.sppbGenerateNoteNo @sBillDefNo = N'MYP', -- nvarchar(30) @sParameters = N'@部门编号,@设备编码', -- nvarchar(100) @bIsSave = 1, -- bit @sNewNoteNo = @sNewNoteNo OUTPUT -- nvarchar(50) SELECT 编码=@sNewNoteNo END 无法传参
时间: 2024-03-26 19:37:59 浏览: 113
这段代码的问题在于无法传递输入参数@部门编号和@设备编码到存储过程sppbGenerateNoteNo中。可以尝试修改@sParameters参数的值为@部门编号和@设备编码的具体值,例如:
```
@sParameters = N'@部门编号="' + @部门编号 + '",@设备编码="' + @设备编码 + '"',
```
这样就可以将输入参数传递到sppbGenerateNoteNo存储过程中,生成相应的编码并返回。
相关问题
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER procedure [dbo].[p_UpatePushTaskTargetStatus] ( @status int , @taskId uniqueidentifier, @openId nvarchar(max), @msg nvarchar(max) ) AS BEGIN update [dbo].[tag_wechatpushtarget] set status = @status , Message = @msg where [WeChatPushTaskId] =@taskId and openid =@openId update [dbo].[tag_wechatpushtasks] set processed = (select count(0) from [dbo].[tag_wechatpushtarget] where [WeChatPushTaskId]=@taskId and [Status] BETWEEN 3 and 4) where id =@taskId END
在将 SQL Server 存储过程转换为 MySQL 存储过程时,可以按照以下方式进行转换:
```sql
DELIMITER //
CREATE PROCEDURE p_UpatePushTaskTargetStatus(
IN status INT,
IN taskId CHAR(36),
IN openId TEXT,
IN msg TEXT
)
BEGIN
UPDATE tag_wechatpushtarget SET status = status, Message = msg WHERE WeChatPushTaskId = taskId AND openid = openId;
UPDATE tag_wechatpushtasks SET processed = (
SELECT COUNT(0) FROM tag_wechatpushtarget WHERE WeChatPushTaskId = taskId AND Status BETWEEN 3 AND 4
) WHERE id = taskId;
END //
DELIMITER ;
```
请注意以下转换细节:
1. `SET ANSI_NULLS ON` 和 `SET QUOTED_IDENTIFIER ON` 这两行语句在 MySQL 中不需要,可以简单地省略。
2. 参数的数据类型需要根据实际情况进行转换。在这个例子中,`@taskId` 在 MySQL 中对应的是 `CHAR(36)` 类型,`@openId` 和 `@msg` 对应的是 `TEXT` 类型。
3. 在 MySQL 中,使用 `CREATE PROCEDURE` 来创建存储过程,并使用 `BEGIN` 和 `END` 来定义存储过程的代码块。
4. 更新语句中的变量需要使用参数名而非前缀 `@`。
5. 在第二个更新语句中,使用子查询来计算符合条件的记录数量并更新 `processed` 字段的值。
6. 使用 `DELIMITER` 关键字来指定存储过程的结束符,默认为分号 `;`。
请根据实际需求和数据库结构进行适当调整和修改。希望这个转换对您有所帮助!
ALTER PROC [dbo].[ADDUSERREAD](@USERNAME NVARCHAR(50))
ALTER PROC [dbo].[ADDUSERREAD](@USERNAME NVARCHAR(50)) 是一个 SQL Server 存储过程的定义,用于向数据库中添加一条用户阅读记录。该存储过程接受一个输入参数 @USERNAME,是一个长度为 50 的 Unicode 字符串,表示用户的用户名。
该存储过程的具体实现需要根据数据库的具体设计来确定。一般来说,该存储过程会向一个用户阅读记录表中插入一条新记录,记录包括用户名、阅读时间等信息。通过调用该存储过程,可以方便地向数据库中添加用户阅读记录,从而实现用户行为的跟踪和统计等功能。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)