Sql 在插入随机字符串后创建触发器
我有一个表app和列ID、PW和ID自动递增。我想创建触发器,当我插入新的rowID,然后插入PW列随机字符串,示例75Da5Alength 7,请帮助Sql 在插入随机字符串后创建触发器,sql,oracle,Sql,Oracle,我有一个表app和列ID、PW和ID自动递增。我想创建触发器,当我插入新的rowID,然后插入PW列随机字符串,示例75Da5Alength 7,请帮助 ID PW 1 75Da5A 2 45daa8 3 571as5 ---------- --------- 您可能需要以下内容: SQL> CREATE TABLE app ( id NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY, 2
ID PW
1 75Da5A
2 45daa8
3 571as5
----------
---------
您可能需要以下内容:
SQL> CREATE TABLE app ( id NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY,
2 pwd varchar2(16));
Table created.
SQL> create or replace trigger randomPwd
2 before insert on app
3 for each row
4 begin
5 if :new.pwd is null then
6 :new.pwd := dbms_random.string('a', 7);
7 end if;
8 end;
9 /
Trigger created.
SQL> insert into app values ('', '');
1 row created.
SQL> select * from app;
ID PWD
---------- ----------------
1 RVaQalX
您可以使用以不同的方式获取随机字符串,而无需编辑结果
发件人:
“u”,“u”-返回大写字母字符的字符串
“l”,“l”-返回小写字母字符的字符串
“a”,“a”-返回混合大小写字母字符的字符串
“x”,“x”-返回大写字母数字字符的字符串
“p”,“p”-返回任何可打印字符的字符串。
你还有多远?您是被触发器语法卡住了,还是生成了一个随机字符串,或者两者兼而有之?你真的用纯文本存储密码吗?是的,我现在……….Alex Poole触发器语法我有一个生成随机代码的查询,但我需要触发器选择UPPERSUBSTRTRANSLATEdbms_random。字符串'p',100,'a`~!@$%^&*-=_+[]\{}|;:,./?' ,'A',1,7来自dualSo请发布您迄今为止尝试的内容,以便更好地解释您遇到的问题。创建随机字符串的问题是什么?