EXEC SQL
SELECT CAST(MAX(tmp1 AS INTEGER) + 1
INTO :age_plusone INDICATOR
:tage_plusone_indicator
FROM info
where id = '12121'
上面怎么select出一项塞到两项目里面啊, 不怎么明白啊INDICATOR 指的是如果转换成普通SQL的写法该怎么写啊(就是普通的 select into 写法)
SELECT CAST(MAX(tmp1 AS INTEGER) + 1
INTO :age_plusone INDICATOR
:tage_plusone_indicator
FROM info
where id = '12121'
上面怎么select出一项塞到两项目里面啊, 不怎么明白啊INDICATOR 指的是如果转换成普通SQL的写法该怎么写啊(就是普通的 select into 写法)
:tage_plusone_indicator 的写法不是SQL SERVER支持的。
oracle 和sqlserver 切换使用的,通过ODBC访问的
然后是先SELECT出来后,再一条条记录进行赋值
但是现在是SELECT一个项目,但怎么放到两个变量里面啊。
能不能更详细一点啊,
1: 比如现在SELECT 出来的就是NULL ,那么age_plusone的值是什么,而tage_plusone_indicator 里面的值又是什么,
2:如果SELECT出来的是2, 那么age_plusone的值是什么,而tage_plusone_indicator 里面的值又是什么,麻烦大家了实在不熟悉pro*c
。。EXEC SQL
SELECT CAST(MAX(tmp1 AS INTEGER) + 1
INTO :age_plusone INDICATOR
:tage_plusone_indicator
FROM info
where id = '12121 'tage_plusone_indicator这个为指示器 ,是为了判断 age_plusone 这个值取到的是否为正常值
tage_plusone_indicator == -1 表示 这列为 NULL值, 也就是DB里面是NULL值。。
tage_plusone_indicator > 0 表示 这列可以直接使用age_plusone里面的值。。DB里面这个字段不为空..
参照文献:
http://infolab.stanford.edu/~ullman/fcdb/oracle/or-proc.html