oracle语句,想问问后一种写法为什么不行?

两张表A,B
A表里有a,b
B表里有c,d
a和c是主键关联的
我想把b赋值给d

第一种
update B set B.d=(select A.b from A where A.a=B.c and B.d is null)
第二种
update B set B.d=A.b from B left join A on B.c=A.a where B.d is null

2个回答

update *** from ???你见过这种写法吗?

qq_37129624
ghq-yes 回复weixin_43685948: 你把我吓得赶紧去mysql试了一下,无论是哪种数据库,我都没有见过第二种写法,在我的理解里,from前面大部分都跟的是select,不可能直接连着update
7 个月之前 回复
weixin_43685948
weixin_43685948 哥们是不是update set from 只有在mysql里面才有
7 个月之前 回复

不应该是这样吗?update B set B.d=(select A.b from B left join A on B.c=A.a where B.d is null)

qq_36720114
德玛洗牙 回复weixin_43685948: 效果是一样,只是两种不同的写法
7 个月之前 回复
weixin_43685948
weixin_43685948 因为第一种在oracle能执行。达到效果。
7 个月之前 回复
weixin_43685948
weixin_43685948 哥们这个和我写的第一种应该效果是一样的吧。。。最近有点懵
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
存储过程两种写法,一种不行??
通过日记时间得到日记本的所有记录rnCREATE procedure getdiarybookrn@createDate1 varchar(10)rnasrnif @createDate1=''rnselect * fromrn diarybookrnwhere convert(varchar(10),CreateDate)=(select convert(varchar(10),max(CreateDate)) as ss from diarybook)rnorder by DiaryID descrnelsernselect * fromrn diarybookrnwhere rn (select CONVERT(varchar(10),CreateDate,120))=@createDate1rnorder byrn CreateDate descrnGOrnrnrn在cs里写的方法rnrn public DataSet GetDiaryBook(string createdate)rn rn SqlConnection cn = new SqlConnection(ConfigurationSettings.AppSettings["connectionstring"]);rn SqlDataAdapter da = new SqlDataAdapter("getdiarybook '"+createdate+"'" , cn);rn DataSet ds = new DataSet();rn da.Fill(ds, "mytable1");rn cn.Close();rn return ds;rn rn这样就可以调用过程成功.但这样不安全rnrnrn换成第2种方法写rn public DataSet GetDiaryBook(string createdate)rn rn SqlConnection cn = new SqlConnection(ConfigurationSettings.AppSettings["connectionstring"]);rn SqlDataAdapter da = new SqlDataAdapter("getdiarybook " , cn);rn da.SelectCommand.CommandType = CommandType.StoredProcedure();rn da.SelectCommand.Parameters.Add("@createDate1",SqlDbType.VarChar,10).Value=createdate;rn DataSet ds = new DataSet();rn da.Fill(ds, "mytable1");rn cn.Close();rn return ds;rn rn老是说"需要参数@createDate1,但参数明明是写了的?不知道什么原因?rnrn高人看看
oracle连接串的一种写法
我在.NET项目里访问oracle,向来是规规矩矩地这样写:DATA SOURCE=PDBGZFBC;PASSWORD=test;PERSIST SECURITY INFO=True;USER ID=123;那么这个 PDBGZFBC 只是一个名称,它定义在oracle客户端的文件tnsnames.ora里:PDBGZFBC = (DESCRIPTION = (ADDRESS_LIST
一个RewriteRule写法,为什么不行?
RewriteEngine onrnRewriteBase /rnRewriteRule ^city/([a-zA-Z0-9\-\(\)]+)$ city.php?id=$1rnrn上面这写法,www.xxx.com/city/boston应该变成www.xxx.com/city.php?id=bostonrn可以进入city.php这个页面,但读不了id参数,为什么?rn后来我干脆把RewriteRule ^city/([a-zA-Z0-9\-\(\)]+)$ city.php?id=$1删除了,奇怪的是还起作用,这样city/boston还会进入city.php页面,为什么?RewriteRule我都删除了,怎么还这样?难道使用过一次就永远起作用的吗?怎么搞?
这个鼠标事件的写法为什么不行?
response.write ""&m&""
oracle sql语句写法在
在sqlserver 中这么写的rn[code=SQL]ALTER PROCEDURE [dbo].[sp_DelMenu]rn @Whe varchar(8000)rnASrnexec('delete FROM Menu '+@Whe+'rn ')[/code]rn在oracle中应该怎么写
为什么INSRET语句不行?
各位看看:rn Query1.DatabaseName:='D:\delphi\database';rnrn Query1.Close;rn Query1.SQL.Clear;rn Query1.SQL.Add('INSRET INTO PARTS (ID,RAWINGA_NO) Values(:Id_str,:Drawing_no_str)');rnrn Query1.Params[0].AsString:='000000000';rn Query1.Params[1].AsString:='12345-12345';rnrn Query1.Open;rnrnrnId_str,Drawing_no_str开始没定义,这样用不对吗?
这条语句为什么不行?
select szx 所在系 , count(*) 学生人数 from sgrade rn where szx='计算机系'rngorn为什么不行?为什么以下语句才可以:rnselect '计算机系' 所在系 , count(*) 学生人数 from sgrade rn where szx='计算机系'rngornrnselect '计算机系' 是什么意思呢?'计算机系'是szx的一个值。
想问问
在IBM的认证都有什么啊rn具体的名字叫什么啊rn在哪有这方面的内容啊~rn谢谢了~
想问问!!!
帮忙,我本来想用自己发帖子的,不知道怎么回事,BLOG激活不了,正好看到讨论工资的,我就来献丑了。rn 象我这样马上大专毕业,学的是计算机信息管理专业,rn专业课就是学了C、JAVA(不好),信息系统分析(一般),VB。NET、ACCESS、SQL、ORACLE(都是数据库的基础),过了计算机等级二级,现在准备考三级中,正在自学C++,用的是MS2003的平台,就是想用VC++。NET,(还没有入门);rn 你们是在社会的人了,想想我走程序员这路,可以不?刚出来工资怎样。生活毕竟是个问题。
想问问?
如果我现在想作些有用的事情(编个软件)。rn我应该怎么做。(实践)rn现在能力::c++,VB 。c++自认还行。 VB 做过“索哈”。rn我能作些什么呢???
oracle 求sql语句写法
问题描述:rn1.通过一条sqlrnselect menu_ids from ACTION_ROLE where action_role_id=1rn查询出menu_ids 的值为 1,5,6,45,46 其数据类型为varchar2(1000)rn2.下面一条sql语句需要用到数值类型的1,5,6,45,46.语句如下:rnselect *from ZSYWYJ.QD_QX_MENU where menu_id in (?)rnrn问题:现在需要将通过编号为1的sql查出来的varchar2(1000)类型的 1,5,6,45,46 传进编号为2的sqlrn的问号部分,注意编号2 sql 的menu_id为number类型rnrn本问提的核心是,如何将varchar2类型的1,5,6,45,46转换成用逗号分开的数值型1,5,6,45,46rn
Oracle判断语句写法求助
跪求大神帮帮忙,想了很久,不知道怎么去完成。rn有三张表,A、E、F,比如:rnrn表A 表E 表FrnEMPLID ACID ACID ACID_PAR EMPLID ACID DECRrn01 08 08 01 08 AArn02 09 09 02 10 AArn 10 09 rn03 11 11 rnrn其中表E如果表A有对应的ACID_PAR,就用对应的ACID来找表F;比如表A中的EMPLID 03,在表F中没有对应的,但是结果中也应该显示“”rnrn最后应该选出结果:rn EMPLID ACID DECRrn 01 08 AArn 02 10 AArn 03 11 rnrn请问应该怎么去写呢,研究了很久了,写的要run很久,也不出结果。。。
oracle sql语句统计数据写法
有3张表,A表活动,B表活动地区,C表地区商家 A表关联B表,B表关联C表都是一对多,现在需返回活动名称,活动地区数,地区商家数
求助一条oracle语句的写法
现在有这么个公式 A - ∑(B * (1 + C)n) < 0rn上面那个n是1+C的n次方, 需要这样计算, rn当n=1时 A - (B * (1 + C)) < 0, rn当n=2时 A - (B * (1 + C) + B * (1+C)2) < 0, (2为1+C的2次方)rn依次类推····A B C都为已知数,求n 这条oracle语句应该怎么写呢。。。。。
ORACLE问问!!!
我用的是oracle 8.1.7rn我在oem中一个节点下,想对一个数据库进行 数据的导出,可是提示 不对,rn 要进行身份首选项证明,我在rn 系统/首选项 里在首选身份证明 里以SYSDBA的用户名/密码 选了几个,rn 可是还是不对,提示rn vni-2015:验证错误rn请帮个忙!!rn 先谢了!
为什么这样的语句不行呢?
rn为什么file不能够使用根目录的绝对路径呢?可以用相对路径!rn但是virtual可以使用的.谢谢赐教
这个T-SQL语句为什么不行.
declare @name varchar(20)rnset @name ='h'rn exec ('use '+@name)rnrn提示.命令成功运行,但没有切换到相应的数据库.rn
同步 synchronized 语句的 另外一种写法??
在一个线程类中有下面两种同步方法rnrn 第一种写法rn [code=Java]rn public void run() rn while (true)rn rn synchronized (this) rn ........rn rn rn rnrnrn [/code]rnrn 第二种写法rn rn [code=Java]rn private Object indexLock = new Object();rnrn public void run() rn while (true)rn rn synchronized (indexLock) rn ........rn rn rn rnrnrn [/code]rn 请问这两种同步方法有什么不同???rn
初学线程,想问问这是为什么
我创建了一个线程组,包括100个线程,目的是让count中的balance这个int 类型数值从0++到99,但是当我在这个实现++的操作中加入了Thread.sleep(某个数字)的时候,发现不能实现,最后balance的值班很小加不到99,当我去掉以后就可以了,这是为什么呢??呵呵,请指教!!rnimport javax.swing.*;rnimport java.awt.*;rnimport javax.swing.event.*;rnimport java.awt.event.*;rnimport javax.swing.border.*;rnimport java.io.*;rnimport java.util.*;rnrnpublic class smallSystem rnprivate count p=new count();rn private Thread []thread=new Thread[100];rn int i;rn public smallSystem()rn ThreadGroup t=new ThreadGroup("group");rn rn for( i=0;i<100;i++)rn thread[i]=new Thread(t,new accout(),"");rn thread[i].start(); rn rn rn rn public static void main(String argv[])rn smallSystem q=new smallSystem();rn q.p.out();rn rnrn //inner classrn class accout extends Threadrn rn public void run()rn p.add();rn rn rn rn rnrn //inner classrn class countrn private int balance=0;rn private String s=new String();rnrn public synchronized void add()rn balance++;rn s+=balance;rn rn try //加了这段代码以后出现问题rn Thread.sleep(5);rn rn catch(Exception ex)rn rn rn rn rn rn rn public void out()rn JOptionPane.showMessageDialog(null,s);rn JOptionPane.showMessageDialog(null,"\n"+String.valueOf(i));rn rn rn rnrnrnrn
请教一种sql查询的语句写法
请教如何写sql语句实现以下输出效果:rn[img=https://img-bbs.csdn.net/upload/201605/25/1464165591_912588.jpg][/img]rn
这句SQL语句为什么不行?
SQL="Select sum(货量) From tb_dhtj Where 抵港日>#" & date1 & "# AND 抵港日<#" & date2 & "# Order By "&dl&""rnrn 'SQL="Select * From tb_dhtj Where 抵港日>#" & date1 & "# AND 抵港日<#" & date2 & "# Order By "&dl&"" rnrn 'SQL="Select Count(货量) From tb_dhtj Where 抵港日>#" & date1 & "# AND 抵港日<#" & date2 & "# Order By "&dl&""
为什么这句SQL语句不行?
query1.SQL.Add('set s%=s%,[ss[0],'''+ghedit.text+''']');rn为什么这句话运行时有错误,其中ss[0]已赋了值,是STRING型的。请大家帮忙了。
这个sql语句为什么不行?
SELECT TOP 20 seq_no rnFROM (SELECT TOP 909 *rn FROM (SELECT *, 1 AS typern FROM guanli.dbo.tm_object_datarn WHERE (order_no IS NULL AND order_deno IS NULL) AND rn section_no = '8110'rn ORDER BY seq_no DESCrn UNIONrn SELECT *, 0 AS typern FROM guanli.dbo.tm_object_datarn WHERE (order_no IS NOT NULL ORrn order_deno IS NOT NULL) AND rn section_no = '8110'rn ORDER BY order_no DESC, order_deno DESC)) rn AS productrnORDER BY type ASC, order_no ASC, order_deno ASC, seq_no ASCrn或者说有什么别的好方法实现这个功能么?
为什么这条sql语句不行
为什么select * from issspotissuedata where issuedate like '%2001-07%'选不出,数据库中的记录如下,issuedate为datetime型,我是sql 2000rn6 2001-07-26 00:00:00.000 1 1 0 677 667 0 .0000 .0000rn2 2001-07-26 00:00:00.000 1 3 0 677 667 0 .0000 .0000rn6 2001-08-03 00:00:00.000 1 1 0 25 23 2 25.0000 .0000rn
xp下安装oracle为什么不行
请大家帮帮忙,,我在xp下安装oracle出现这样一个问题"装载数据库时发生错误areas queries"然后还有两个单选框的选项1停止安装所有产品,2只停止安装该主件.这是为什么啊?rn
我想问问,为什么C不真确?
对于下列代码: rnString str1="java"; String str2="java"; rnString str3=new String("java"); rnStringBuffer str4=new StringBuffer("java"); rn以下表达式的值为 true 的是 rnA) str1==str2;  B) str1==str4; rnC) str2==str3;  D) str3==str4; rnrn我在eclipse中敲代码判断C是真确的。
为什么这条update语句不行?
为什么一执行下面这条语句就会出现错误:rnrnMicrosoft JET Database Engine 错误 '80004005' rnrn操作必须使用一个可更新的查询。 rnrn/friend/login.asp,行 37 rnrnrn这条语句是:rnsql="update user set islogin='0' where user='"&user&"'"rnconn.execute(sql)rn
求助,这样的语句为什么不行
[code=SQL]rnrnselect * from (rn select sum(po_cost),po_line from (rn select top 2 po_line,po_cost from purview rn union allrn select top 2 po_line,wh_cost from whview rn )trn group by po_linern)drnrn[/code]
这个语句为什么不行啊
select xh from cp where bj=1 group by xh order by ida descrn在查询分析器内总提示:rn列名 'cp.ida' 在 ORDER BY 子句中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。rn这是为什么???rn
这个SQL语句为什么不行?
vb+access:rnstr="select * from class where date=#" & text1.text & "#" & " and cl='" & combo1.text & "'"rn另外:vb中设置暂停点后为什么光标放在某处不显示变量的值?
想问问各位大哥这是为什么?~`~~
rn rn 管理系统 rn rn rn rn缴费情况 rnrn<% rnSet cnnDB = Server.CreateObject(\\\"ADODB.Connection\\\") rnrncnnDB.Open \\\"ybj\\\" rnrnSet rstObj =Server.CreateObject(\\\"ADODB.Recordset\\\") rnrnrnrstObj.Open \\\"ryqk\\\",cnnDB, 1 rnrnrstObj.PageSize = 5 rnif Not IsEmpty(Request(\\\"ToPage\\\")) then rnTOPage = CInt(Request(\\\"ToPage\\\")) rnif ToPage >rstObj.pageCount then rnrstObj.AbsolutePage = rstObj.PageCount rnelseif ToPage <= 0 then rnrstObj.AbsolutePage = 1 rnelse rnrstObj.AbsolutePage = ToPage rnend if rnEnd if rnintCurPage = rstObj.AbsolutePage rnrn%> rn 目前在第 rn <% = intCurPage %> 页,共有 rn<% = rstObj.PageCount %> rn页,共有 rn<% = rstObj.RecordCount %> rn笔记录 rn rnrn rn rn rn 编号 rn rn 手册代号 rn rn 姓名 rn rn 性别 rn rn 出生年月 rn rn 单位名称 rn rn 人员类别 rnrn<% rnFor i = 1 to rstObj.PageSize rnif rstObj.EOF then rnExit For rnend if rn%> rnrn rn <% = rstObj.AbsolutePosition %>  rn <% = rstObj(\\\"HandbookID\\\") %>  rn <% = rstObj(\\\"Name\\\") %>  rn <% = rstObj(\\\"Sex\\\") %>  rn <% = rstObj(\\\"BornDate\\\") %>  rn <% = rstObj(\\\"UnitAppellation\\\") %>  rn <% = rstObj(\\\"BeingsSort\\\") %>  rnrnrn rn<% rnrstObj.MoveNext \\\'移向下一笔记录 rnNext rn%> rn rn rn rn<% rnif intCurPage <> 1 then rn%> rn rn rn>到第一页 rn rn rn rn>到上一页 rn rn<% rnend if rnif intCurPage <> rstObj.PageCount then rn%> rn rn rn>到下一页 rn rn rn rn>到最后一页 rn rn<% rnend if rn%> rn rn rn rn到 rn size=\\\"20\\\" >页 rn rnrn<% rnSet rstObj = Nothing rncnnDB.Close rnSet cnnDB = Nothing rnSession(\\\"Done\\\") = \\\"yes\\\" rn%> rn rn rnrn问:为什么代码中用ODBC数据源:cnnDB.Open \\\"ybj\\\" rn变量intCurPage和rstObj.AbsolutePosition会无法正常显示(显示的值是-1)? rn不用ODBC数据源,直接用字符串链接: rnstrCon =\\\"Provider=Microsoft.Jet.OLEDB.4.0;\\\" & _ rn\\\"Data Source=\\\" &Server.MapPath(\\\"../../ybj.mdb\\\") rncnnDB.Open strCon rnrn又能正常显示。
大家好!这样的写法为什么不行呢?
query1.sql.add('update animals set weight=20 where name=boa');rnrn这样写为什么不行呢?
两种写法,有种不行,不知道为什么?
//第一种写法[code=Assembly]rnrnrn Samplern rnrnrn rn My Test String! rn rnrnrn rnrnrn rnrn rnrnrn[/code]rnrnrn//第二种写法不行rn[code=JScript]rnrnrn Samplernrnrn rn My Test String! rn rnrnrn rnrnrn rnrn [/color]rnrnrn[/code]
SQL语句,想不明白为什么left join on 不行
表Arnrn单号 物品 单位 数量rn082501 篮球 01 2rn082502 牛肉 02 3rnrn表Brnrn单位编号 单位名称rn01 个rn02 KGrnrn现在怎么才能把 表A内的单位显示为单位名称????rn请前辈讲解一下
两种设置方法,为什么有一种不行
有一Edit Box,要使用它的成员函数,我用了两种方法:rn1.关联成员变量m_editrn用m_edit.SetSel(-1, -1) //可以rnrn2.用(CEdit*)(GetDlgItem(IDC_EDIT1))->SetSel(-1, -1) //不可以rnrn为什么呢?
实体类的写法 问问老鸟 规范的写法..
private int _addressid = 0;rn public int AddressIDrn rn get return _addressid; rn set _addressid = value; rn rnrnrn pubilc int AddressIDget; set;rnrn 希望老鸟们能顺表提供下其他数据类型的实体类写法..
想问问大家的感受
我前段时间在一家公司找了份工作,是用java swing做客户端的,我现在还没毕业,来公司上了几天,感觉特郁闷.以前在学校做的东西少,没经验,刚来他们给我个系统的代码看,我都不知道从哪下手,555555555
我想问问
在一个jsp网站中,网页每天都要更新,自动到Access数据库取数据更新,那么意味着每天都要上传数据库吗?
我想问问??
我刚编了一个小的程序,我不知道在哪可以上传.rn
突然想问问
java做项目,当项目打包成jar文件、war文件发布或交给用户,不像vc做的程序那样不可反编译,用户是可以解包再反编译的吧?!那岂不是没一点商业机密可言??!
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件