我不确定这是否可行,但我想计算表中唯一值的数量.我知道要计算我做的唯一folderID的数量:
select count(folderid) from folder
Run Code Online (Sandbox Code Playgroud)
但我想在文件夹表中计算folderid和userid的唯一组合数.有没有办法做到这一点?
我在网站上有一个页面,其中包含iframe中的安全表单.虽然提交的表单数据是安全的,但页面看起来并不安全,因为浏览器中的URL只是HTTP.我可以做些什么来向用户表明表单是否安全?
我有一些jQuery代码拦截点击页面上的链接:
$(document).ready(function()
{
$("a").click(function() {
//do something here
});
});
Run Code Online (Sandbox Code Playgroud)
我的问题是页面的某些部分尚未完成文档准备就绪.它们通过ajax调用填充.这些部分中的链接不会被上面的jQuery函数拦截.
我需要最初在文档就绪上运行的函数,但是我需要新的链接也应用相同的逻辑.
任何帮助将非常感谢.这是一个我不熟悉的领域.我编写了jQuery的东西但是ajax代码是一个我无法控制的外部组件.
我在使用SQL查询时遇到问题.如果已经存在相同的行,我需要插入一行.这是我到目前为止:
DECLARE
BEGIN
FOR FOLDER_ROW IN (SELECT FOLDERID, USERID FROM DATA1.FOLDERS)
LOOP
IF NOT EXISTS (SELECT * FROM DATA1.FOLDER_USER WHERE FOLDER_ID = FOLDER_ROW.FOLDERID AND USER_ID = FOLDER_ROW.USERID)
INSERT INTO DATA1.FOLDER_USER (FOLDER_ID, USER_ID) VALUES (FOLDER_ROW.FOLDERID, FOLDER_ROW.USERID);
END LOOP;
COMMIT;
END;
Run Code Online (Sandbox Code Playgroud)
我不会非常熟悉sql特别是不存在的语法所以当我执行时我得到以下错误:
ORA-06550:第37行,第11列:PLS-00103:当遇到以下情况之一时遇到符号"INSERT":
然后和或
符号"then"代替"INSERT"继续.
Run Code Online (Sandbox Code Playgroud)ORA-06550: line 38, column 10: PLS-00103: Encountered the symbol "LOOP" when expecting one of the following: if ORA-06550: line 40, column 5: PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following: end not pragma final …
只是想知道是否有一种方法可以让jquery在点击时拦截一个链接.问题是,首次加载页面时,我的页面上的某些链接未加载.我有一个模糊的回忆,听说jquery有办法拦截所有当前和未来的链接.这是我的代码.它适用于开始时所有链接,但稍后加载到页面上的链接不会被此函数拦截
$('a').trackClick({
areaClick: function(element) { return getAreaClicked(element); },
href: function(element) { return getHrefFromElement(element); },
text: function(element) { return getTextFromElement(element); },
exceptions: function(element) { return isException(element); }
});
Run Code Online (Sandbox Code Playgroud) 我希望我能够正确解释这一点.我需要将数据插入两个DB表.此数据已存储在另外两个表中,但需要进行迁移.为了简化事情,我们这里说的是我的源表:
文件夹与列folderid,foldername
链接列linkid,url和folderid
我的目的地表是:
带有列folderid,foldername的new_folder
new_link with columns linkid,url和folderid
还有其他列,但它们并不重要.我的问题是,无论是谁设置原始数据库都使用java中的随机数生成器来创建文件夹和链接ID,这些数字是完全垃圾.它们需要替换为DB中存在的序列生成的数字.
所以我需要的是一个声明,它具有如下内容:
insert into new_folder(folderid, foldername), new_link(linkid, url, folderid)
values (select seq_folder_id.nextval, foldername, seq_link_id.nextval, url, seq_folder_id.currval from folder, link where folder.folderid = link.folderid).
Run Code Online (Sandbox Code Playgroud)
可能有多个与该文件夹关联的链接.文件夹表中有200k行,链接表中有10倍,所以我需要一些脚本来运行并拉出所有文件夹,并使用新序列作为ID创建新条目.这本身就没问题,但如果我这样做,那么一旦ID被更改,我无法将链接映射到文件夹,除非我在一个语句中执行它,如果这有意义的话.
我需要编写一个脚本来将从一个表中选择的数据插入另一个表中。旧表在一个列中存储值“是”,但我想插入1而不是“是”
有什么办法可以做到这一点。在我的脑海中,这就是我要做的:
insert into new_table (new_col1, new_col2)
values (select from old_table(old_col1, (if old_col2='Yes' then 1 else 0))
Run Code Online (Sandbox Code Playgroud) 只是想知道我将如何更改以下SQL,以便插入只发生在唯一的link_row实例上.因此,如果在seletc中拉回完全相同的值,我只想进行循环并第一次插入.
BEGIN
FOR LINK_ROW IN ( SELECT LINKTEXT, LINKURL, CORPID FROM LINKS )
LOOP
//Do insert here
Run Code Online (Sandbox Code Playgroud)
当我运行脚本时,我在主键违规时会出现错误,因为同一项在循环内插入两次.
提前致谢