如何使用IFELSE来打电话单独的程序? Netlogo的功能?
在下面的简介中是我写的代码,以说明邻居补丁上是否有乌龟 to play-the-game ifelse any? turtles-on neighbors4 [show "turtles-found"] [show "turtles-not-found"] end 我需要更改它以执行我已经写出的过程; 如果它们是同一品种,他们会"获得能源" 不同品种的"战斗 - 竞争" 我不确定如何更改第一部分以执行其他程序. 解决方案 如果我理解正确,则需要检查询问turtle和'对手'turtle的breed.当然,您可以通过检查是否存在任何邻居,下一步是进行breed检查,然后海龟可以选择采取什么行动.例如,查看这种玩具模型,狼和母牛可以识别它们是否降落在同一品种旁边的补丁上: breed [ cows cow ] breed [ wolves wolf ] to setup ca ask n-of 10 patches [ spro
14 2023-05-21
编程技术问答社区
在Pascal中,如何在另一个程序中调用一个程序?
procedure questiontype; begin writeln ('Enter the type of question you would like...'); writeln ('1. Add'); writeln ('2. Multiply'); writeln ('3. Subtraction'); writeln ('4. Division'); readln (typeofquestion); case typeofquestion of 1: add; 2: multiply; 3: subraction; 4: division else writeln ('Choose again'); end; end; 添加,乘法,减法和除法都是所有程序.如果我将其放在主要程序中,它将正常工作,但是当我将其作为一个过程本身时,我会得到错误未宣布
0 2023-05-20
编程技术问答社区
将SELECT STATEMENT作为IN参数传递给过程并在Oracle中执行
我有以下过程 CREATE OR REPLACE PROCEDURE p_create_text_file ( loc IN VARCHAR2 , file IN VARCHAR2 , select_statement in varchar2 , line_statement in varchar2 ) IS fid UTL_FILE.FILE_TYPE := UTL_FILE.FOPEN (loc, file, 'W'); line VARCHAR2(2000); BEGIN FOR rec IN ( /*replace this select*/ select parameter , value from nls_database_parameters where parameter in ('NLS_RDBMS_VERSION', '
0 2023-05-19
编程技术问答社区
如何将xml转换为sqlserver中的表或html表
XML是SQLServer中的一种类型,现在我想将表变量传递给过程,但是您必须将表定义为类型(使用"创建类型"). 因此,我认为我可以将XML用作变量以作为参数传递到该过程中. declare @tv table ( id int, username varchar(50), department varchar(50) ) insert into @tv values(1,'tom','finance'),(2,'mark','business'); declare @xml xml; set @xml =(select * from @tv for xml path('row') ,type ) select @xml ; 我想将@tv之类的表作为参数,将其传递给过程, 并得到这样的结果: 1 tom finance 2
0 2023-05-19
编程技术问答社区
在mySql中创建一个带参数的存储过程
我正在尝试使用MySQL进行存储过程.此过程将验证用户名和密码.我目前正在运行MySQL 5.0.32,因此应该可以创建过程. 这是我使用的代码.我得到的只是SQL语法错误. GO CREATE PROCEDURE checkUser (IN @brugernavn varchar(64)),IN @password varchar(64)) BEGIN SELECT COUNT(*) FROM bruger WHERE bruger.brugernavn=@brugernavn AND bruger.pass=@Password; END; 预先感谢您 解决方案 我现在弄清楚了.这是正确的答案 CREATE PROCEDURE checkUser ( brugernavn1 varchar(64), password varchar(64) ) BEGIN SELECT COUNT(*
2 2023-05-19
编程技术问答社区
在oracle apex中调用程序
我创建了一个带有两个输入的软件包,如下所示,但是我在测试软件包时遇到困难以查看它是否有效.我想调用该过程并测试它的输入为1和1000.我不确定包装内部是否以正确的方式产生输出,如果我在一个过程之外测试代码,并且包装效果很好.在一分钟内,我只想在SQL命令中对其进行测试. 软件包 CREATE OR REPLACE PACKAGE pl_work_allocation_pkg IS PROCEDURE pl_work_allocation_pp(lv_crime_id IN NUMBER, lv_emp_no IN NUMBER, lv_end_date OUT DATE, lv_work_desc OUT VARCHA
4 2023-05-16
编程技术问答社区
Oracle中的加密解密PL SQL软件包
是否有任何方法可以使用特定键在Oracle中加密SQL软件包(存储过程,功能等),并使用相同的密钥用于安全目的??? 我正在使用Oracle 12c .... 谢谢, 解决方案 是的,您可以使用wrap工具为此,请参见您可以包装PL/SQL源文本,从而阻止任何人使用静态数据字典视图显示该文本*_SOURCE. 原则上不支持解密,但是您可以使用取消启用!. 其他解决方案 我喜欢Wernfried的答案.如果可以的话,我想扩展一点. 假设您会尝试使用包裹方法(有些人说很容易破裂),以下是试图检查其有效性的事情: 如果执行Wrapd对象,请与TKPROF检查任何逻辑或SQL 检查V $ SQL和相关视图,以查看执行Wrapd对象是否显示任何逻辑或SQL 与OEM检查是否执行Wrapd对象是否显示任何逻辑或SQL 我从未测试过以上的测试,但是如果我考虑使用包裹,我会这样,以便我知道它提供的任何保护的限制.鉴于DBA能够监视和调整查询的重要性,如果
10 2023-05-16
编程技术问答社区
如何在pl/sql过程中读取一个值?
我在扫描PL/SQL过程中有一个问题.在执行该过程时,它会忽略 a:='&a'; . 程序主体 create or replace PROCEDURE Testing IS a VARCHAR2(3); BEGIN DBMS_OUTPUT.PUT_LINE('Enter a : '); a:='&a'; END Testing; 程序调用 SET SERVEROUTPUT ON; cl scr; Execute Testing; 输出 PL/SQL procedure successfully completed. Enter a : 有人可以帮我!? 解决方案 在SQL*中,我们还有提示并接受语法,但是没有直接的方法可以在不使用PHP,Apex,Java,脚本的情况下进行PL/SQL Interactive.我给你脚本的例子. 例如.在Windows批处理中,以下代码将有所帮助. 1)测试过程的代码是相同的 cr
4 2023-05-14
编程技术问答社区
浏览多个字段的值并将它们插入同一列中
我正在尝试使用重复的行为我的Oracle Apex应用程序创建功能.假设我有一个车牌. CREATE TABLE vehicles ( brand VARCHAR2(50), model VARCHAR2(50), comment VARCHAR2(50) ); i首先创建了当前正在工作的PL/SQL过程,该过程复制了用户选择的行n次次.例如,如果用户有5辆相同的车辆,他可以输入" 5",并且该应用程序将插入相同车辆的5倍,当然还有不同的主要键. 我要实现的目标是给用户在每行中添加自定义评论的可能性.例如,他将有5辆相同的汽车,每辆车都有不同的评论. 这是用户插入汽车时我过程的代码: FOR i IN 1..:P27_NUMBER_VEHICLES -- this represents the numbers of cars the users want to insert LOOP INSERT INTO vehicles(brand
0 2023-05-14
编程技术问答社区
在Oracle中创建过程
为什么它不起作用? 我在甲骨文中运行. 我想创建这样的aprocedure: CREATE OR REPLACE PROCEDURE ME( X in NUMBER )IS declare num1 number; BEGIN num1:=1; insert into a (year) values(7); END; 这是错误: pls-00103:在期望以下一个时遇到符号"声明": 开始功能Pragma过程亚型类型 当前光标删除 存在先前的外部语言 符号"开始"被替换为"声明"继续. 7/5 PLS-00103:在期望以下一个时遇到符号"文件结束": (如果循环mod Null Pragma提高回报选择更新 解决方案 DECLARE仅在匿名PL/SQL块和嵌套的PL/SQL块中使用.声明程序时,您不会使用它.假设表A使用列YEAR存在,类似 CREATE OR REPLACE PROCEDURE ME( X in NUMBER ) IS
6 2023-05-14
编程技术问答社区
无法在DBA_PROCEDURES视图中找到存储过程
我创建了一个过程: create or replace procedure gg as begin insert into book values ('prashant','prashant','prashant'); commit; end; / 过程已成功创建.现在我想检查相应过程的软件包名称,但我不能这样做. 我正在使用以下查询: > SELECT * FROM SYS.DBA_PROCEDURES WHERE procedure_name ='gg'; 选择0行.请帮助. 解决方案 注意请查看更新部分以获取正确的答案. 在dba_procedures视图中,过程名称不能在较低的情况下.使用上情况或应用上层功能. SELECT * FROM SYS.DBA_PROCEDURES WHERE procedure_name ='GG'; 更新 唯一可以在较低情况下具有名称的情况是,如果您在编
2 2023-05-14
编程技术问答社区
在Oracle 10g中连接5个表的数据,没有重复的值,并得到具有自定义状态的结果
我有5个表,我必须用来获取盗窃索赔的待处理文件集.我正在使用Oracle 10g.表结构在下面给出. 1. mo_documents_master -- master table for all document types CREATE TABLE "MO_DOCUMENT_MASTER" ( "DOC_ID" NUMBER NOT NULL ENABLE, "DOC_TYPE_NAME" VARCHAR2(100 BYTE), "STATUS" VARCHAR2(50 BYTE), CONSTRAINT "MO_DOCUMENT_MASTER_PK" PRIMARY KEY ("DOC_ID") ) 2. mo_theft_pvt_documents -- Contains list of documents applicable for a theft claim;
0 2023-05-14
编程技术问答社区
Oracle程序错误(PLS-00428)
这是错误消息:PLS-00428: an INTO clause is expected in this SELECT statement.同时,这是测试显示系统日期的过程: CREATE OR REPLACE PROCEDURE "TEST_PROCEDURE" AS BEGIN SELECT SYSDATE FROM DUAL; END; 首先,我不需要使用INTO Oracle坚持要我做.在使用光标旁边是否有其他方法(我在这里看到了/a>)?我认为不应该那样,这确实像在不使用INTO或光标的MS SQL中一样运行. 解决方案 最终找到了我想要的输出的解决方案(基于您的响应):D CREATE OR REPLACE PROCEDURE "TEST_PROCEDURE" RET_DATE CHAR(10); BEGIN SELECT TO_CHAR(SYSDATE, 'MM/DD/YYYY') INTO RET_DATE FROM DUAL;
14 2023-05-14
编程技术问答社区
在存储过程中创建的表被删除,获得存储过程的编译错误
创建过程的第一步是检查表xyz是否存在.如果确实这样做,然后在表xyz上进行进一步的计算,但是如果不存在,则会创建表,然后继续计算(将新记录插入表中). 因此,出于测试目的,我放下了桌子.当我放下桌子的那一刻,我会从该过程中遇到编译错误,说该表不存在. 我应该如何解决此问题.我无法更改逻辑. 解决方案 需要检查表是否存在的代码表示不良的软件体系结构.不需要即时创建桌子.这是一个反模式(至少在甲骨文中).但是,我们经常看到这个问题上的变化,因此很明显,这种反模式在野外蓬勃发展. 如果您确实需要实现此类解决方案(无论出于何种原因),那么正确的方法是使用代码将表格构建代码分开.为他们提供单独的包裹. begin pkg_ddl.build_table_xyz; pkg_calc.run_xyz_job; end; 如果表xyz不存在pkg_calc.run_xyz_job()是无效的.但是,这不会阻止pkg_ddl.build_table_x
2 2023-05-14
编程技术问答社区
转换为PROCEDURE pl/sql
我想编写一个程序,该程序将首先打印员工号码和员工的工资(即7839).然后,根据以下条件,它将增加员工7839的薪水(这将是雇员中的员工号): Condition-1: If experience is more than 10 years, increase salary by 20%. Condition-2: If experience is greater than 5 years, increase salary by 10%. Condition-3: All others will get an increase of 5% in the salary. 该程序将在增加之前和之后打印员工号码和工资,我尝试了以下步骤,但不确定它的准确性. 我需要将其转换为过程代码. 请建议 DECLARE veno emp.empno%type:=&veno; vsal emp.sal%type; vexp number; B
0 2023-05-14
编程技术问答社区
程序和功能的输出信息问题
我已经成功创建了一个函数和一个触发器,但是当我执行它时,输出似乎并没有显示出成功完成的过程.它不显示总成本. 解决方案 要查看DBMS_OUTPUT软件包的输出,您必须启用它.这取决于您使用的工具. 在SQL+中,在运行过程之前设置命令set serveroutput on 在蟾蜍中,单击" dbms_output"选项卡中的输出/关按钮 在SQL开发人员中,您还拥有一个名为dbms_output的选项卡,单击第一个图标以启用输出
2 2023-05-14
编程技术问答社区
如何只列出我在Oracle SQL中创建的表?
我如何在Oracle中的另一个过程中调用过程?我正在尝试以下操作,但我会收到该错误" PLS-00306(325:13):PLS-00306:呼叫'中的参数的错误数字或类型title_crud'" PROCEDURE create_title( P_TITLE varchar2, P_USER varchar2, P_ERR OUT VARCHAR2 ) IS BEGIN IF P_TITLE IS NULL THEN P_ERR := 'Null value'; ELSE title_crud('I',NULL,P_TITLE,P_USER); END IF; END; PROCEDURE title_crud( P_OP_TYPE VARCHAR2,
0 2023-05-14
编程技术问答社区
在执行带有日期值的IN参数程序时,不是有效的月份
CREATE OR REPLACE PROCEDURE PROC1( V_STARTTIME IN TIMESTAMP , V_ENDTIME IN TIMESTAMP ) BEGIN INSERT INTO TAB1 SELECT COINS FROM TAB2 WHERE DATE BETWEEN TO_DATE(V_STARTTIME,'mm/dd/yyyy hh:mi:ss aM') AND TO_DATE(V_ENDTIME ,'mm/dd/yyyy hh:mi:ss aM'); END; SAMPLE DATE in Tab2 5/5/2014 9:46:38.000000 AM 我的脚本在一系列日期之间运行.两个日期是参数. 当我执行过程 时 执行Proc1('5/05/2014 11:25:00 AM',','5/05/2014 12:25:00 PM') 我没有有效的月错误. 知道如何解决这个问题? 谢谢 解
0 2023-05-13
编程技术问答社区
创建一个过程,以计算Oracle中表名列表中每个列的每一行?
我的列表包括:表名,列名称. 我需要一个可以计数 value_rows 和 null_rows 的过程 假设每个表的列数可能会在将来发生变化. 在调用过程时使用过程并显示结果的强制(不要使用DML方法更新或创建另一个表) 我的想法是在2个循环中使用2个变量: @v_table_name,@v_column_name create or replace procedure hc_test as declare v_table_name varchar2(255), v_column_name varchar2(255) BEGIN for v_table_name in (select table_name FROM USER_TAB_COLUMNS WHERE table_name IN ('CTHD','HOADON','KHACHHANG','NHANVIEN','SANPHAM') loop for v_column_name
8 2023-05-13
编程技术问答社区
调用P_AA的参数数量或类型错误
当我尝试使用参数中的收集类型来编译该过程时,我会收到错误 的错误 呼叫'p_aa'' 的错误数字或类型的参数 -------Procedure created with in parameter as nested table------------ create or replace procedure p_aa(serv in t45) is aa serv_item%rowtype; begin for i in 1..serv.count loop select a.* into aa from serv_item a where a.serv_item_id = serv(i); dbms_output.put_line('Serv item '||aa.serv_item_id||' '||'status '||aa.status); end loop; end; / ----------Calling the package-------
2 2023-05-13
编程技术问答社区