SQL语言中的冒号问题

SQL语言中的冒号问题,第1张

and c.danwbh like :v_danwbh 本人初学SQL,上面我都明白,就最后两句中的“冒号”不知道是什么意思?哪位达人能解释一下?补充:这个a_bm 值是哪来的?(就是a.bm的值吗,如果是这样那 v_danwbh哪来的,也没有v表啊)或者说这个 a_bm 和 v_danwbh 本身就是一个值?本人实在是不懂,还请详细说明,谢谢!满意答案风过无痕11级2010-07-19你是什么数据库呀,如果是Oracle的话代表指针,和c语言中指针类似,嵌入式SQL语句中可以使用主语言的程序变量来输入或输出数据。我们把在SQL语句中使用的主语言程序变量简称为主变量。主变量根据其作用的不同,分为输入主变量和输出主变量。输入主变量由应用程序对其赋值,SQL语句引用;输出主变量由SQL语句对其赋值或设置状态信息,返回给应用程序。一个主变量有可能既是输入主变量又是输出主变量。利用输入主变量,可以指定向数据库中插入的数据,可以将数据库中的数据修改为指定值,可以指定执行的 *** 作,可以指定WHERE子句或HAVING子句中的条件。利用输出主变量,我们可以得到SQL语句的结果数据和状态。一个主变量可以附带一个任选的指示变量(Indicator Variable)。指示变量是一个整型变量,用来“指示”所指主变量的值或条件。指示变量可以指示输入主变量是否为空值,可以检测输出主变量是否空值,值是否被截断。所有主变量和指示变量必须在SQL语句BEGIN DECLARE SECTION与END DECLARE SECTION之间进行说明。说明之后,主变量可以在SQL语句中任何一个能够使用表达式的地方出现,为了与数据库对象名(表名、视图名、列名等)区别,SQL语句中的主变量名前要加冒号(:)作为标志。同样,SQL语句中的指示变量前也必须加冒号标志,并且要紧跟在所指主变量之后。而在SQL语句之外,主变量和指示变量均可以直接引用,不必加冒号。

可以使用

=号对面的是你的值,这个ID是你的要给传递的过去的参数。

如果你想给参数加冒号,就需要处理一下。如果数据就是这样的不需要特殊处理直接放就可以了

conn.prepareStatement("select * from table where id =?" , id)

如果你想用,在SQL语句中存在冒号,那么你就需要给他进行转译才行,否则SQL语句估计会编译不了。报语法错误

conn.prepareStatement("select * from table where id =:id")

a是在主语言里面定义的变量

这种变量要送到SQL语句的话需要在前面加冒号

像这里a应该是由主程序输入的一个用户名的值,第一句的括号里面应该是要执行的SQL语句,所以要加冒号,而第二句是主语言里面的函数调用,直接用就行了,不用冒号。

去找点嵌入式SQL的书看吧,在讲跟主语言通信的时候肯定要讲的。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11605356.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存