используйте значение varchar в качестве имени столбца, чтобы выбрать значение - PullRequest
1 голос
/ 22 января 2012

Я пишу функцию mysql для удаления строки и создания резервной копии в таблице пар ключ-значение. Я могу сделать большинство, но не могу выбрать значение из найденного имени столбца

     CREATE FUNCTION delete_item (
  item_id_val int,
  cur_usr_id int,
  item_type_val varchar(45),
  current_purpose varchar(45),
  cur_date datetime
) RETURNS INT
BEGIN
  declare col_name varchar(45);
  declare no_of_cols int;
  declare ind int;
  declare c1 cursor for select column_name from information_schema.columns where table_name='tbl_name';
  select count(column_name) from information_schema.columns where table_name='tbl_name' into no_of_cols;
  open c1;
  while no_of_cols > 0 do
    fetch c1 into col_name;
    insert into deleted_data(tbl_name,field_nm,val,activity_date) values('tbl_name',col_name,
    (**select col_name from tbl_name where item_id=item_id_val**),cur_date);
    set no_of_cols = no_of_cols-1;
  end while;
  close c1;
  return 1;

полужирный текст (* ed text) сохраняет имя столбца в месте значения. Мне нужно сохранить значение этого имени столбца в этой таблице. нужна помощь ребята

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...