社区
疑难问题
帖子详情
自定义函数中不能使用Update吗?
starwang
2003-04-09 02:38:34
我想在自定义函数中使用update语句,可是语法检查总是提示错误的使用了update。
在sqlserver的自定义函数中不能使用update语句吗?
还有使用begin tran 也不行!怎么回事呢?
...全文
160
2
打赏
收藏
自定义函数中不能使用Update吗?
我想在自定义函数中使用update语句,可是语法检查总是提示错误的使用了update。 在sqlserver的自定义函数中不能使用update语句吗? 还有使用begin tran 也不行!怎么回事呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
starwang
2003-04-09
打赏
举报
回复
还是不太明白,怎么样的属于局部 table 变量?
比如我创建的函数是这样的
test表也是dbo的
有什么错误吗?
CREATE FUNCTION dbo.AddUserSpeed()
RETURNS int
BEGIN
declare @MaxUserid int
BEGIN TRAN
UPDATE test SET tname='test1' where tid=1
IF @@ERROR<>0
BEGIN
SET @MaxUserid=0
ROLLBACK TRAN
END
ELSE
BEGIN
COMMIT TRAN
END
RETURN @MaxUserid
END
mjhnet
2003-04-09
打赏
举报
回复
可以使用INSERT、UPDATE、DELETE 语句,但是这些语句只能修改函数的局部table变量。
附:
函数中的有效语句类型包括:
DECLARE 语句,该语句可用于定义函数局部的数据变量和游标。
为函数局部对象赋值,如使用 SET 给标量和表局部变量赋值。
游标操作,该操作引用在函数中声明、打开、关闭和释放的局部游标。不允许使用 FETCH 语句将数据返回到客户端。仅允许使用 FETCH 语句通过 INTO 子句给局部变量赋值。
控制流语句。
SELECT 语句,该语句包含带有表达式的选择列表,其中的表达式将值赋予函数的局部变量。
INSERT、UPDATE 和 DELETE 语句,这些语句修改函数的局部 table 变量。
EXECUTE 语句,该语句调用扩展存储过程。
oracle
中
怎么
自定义函数
,oracle 可否在
自定义函数
中
使用
update
?
测试结果,自治事务并且加了commit的函数可以在Sql和pl/sql
中
执行SQL> create table dual1 as select * from dual;表已创建。SQL> create or replace function f1(a varchar)2return int3is4begin5
update
dual1 set dummy=a;6ret...
mysql
自定义函数
update
_MySQL
自定义函数
MySQL
自定义函数
函数与存储过程类似,也是一组预先编译好的SQL语句的集合,但是存储过程可以有0个或多个返回,函数就只能有一个返回创建函数#语法 参数列表包含两部分 参数名和参数类型#函数体必须有return语句 且每个sql语句后要以;结尾 所以需要
使用
delimiter来重新设置结束标记#函数体
中
只有一句话时可以省略begin endcreate function 函数名(参数列表) ret...
自定义函数
的
使用
一、
自定义函数
的分类 1)标量值函数 2)表值函数(内联表格值函数,多语句表值函数) 二、
自定义函数
和存储过程的区别 1)
自定义函数
: 1. 可以返回表变量 2. 限制颇多,包括:
不能
使用
output参数;
不能
用临时表; 函数内部的操作
不能
影响到外部环境;
不能
通过select返回结果集;
不能
update
,delete,数据库表; 3. 必须return 一个标量值或表变量
自定义函数
一般用在复用度高,功能简单单一,争对性强的地方。 2)存储过程
mysql
自定义函数
update
返回值_返回
update
PostgreSQL
update
returning NEW|OLD column value 在对账|购票|防纂改|原子操作
中
的妙用标签PostgreSQL ,
update
, returning , NEW , OLD背景在数据库
中
更新记录时,有时为了对账,或者防纂改的目的,需要在更新后立即返回更新前和更新后的值。例如以set bit为例,假设
使用
BIT串作为火车的每个位置,每个BIT代表...
oracle
中
自定义函数
如何
使用
,oracle
自定义函数
语法及
使用
1、
自定义函数
语法create [or replace]function 函数名 -- 定义一个名为xxx的函数(parameterName1, mode1 dataType1,parameterName2, mode2 dataType2,...)return返回值类型 ...
疑难问题
22,298
社区成员
121,731
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章